diff --git a/docs.json b/docs.json index 75b3d7c..113801d 100644 --- a/docs.json +++ b/docs.json @@ -121,6 +121,14 @@ "GET /api/v1/imports/{id}" ] }, + { + "group": "Merchants", + "openapi": "/openapi.yaml", + "pages": [ + "GET /api/v1/merchants", + "GET /api/v1/merchants/{id}" + ] + }, { "group": "Tags", "openapi": "/openapi.yaml", diff --git a/guides/app-features/budgets.mdx b/guides/app-features/budgets.mdx index fbc264f..022f429 100644 --- a/guides/app-features/budgets.mdx +++ b/guides/app-features/budgets.mdx @@ -76,6 +76,18 @@ Sure uses color-coded badges to show your budget status at a glance: - **Near Limit** (yellow) - Getting close to your limit - **Over Budget** (red) - You've exceeded your budget +## Tax-advantaged accounts and budgets + +Sure automatically excludes activity from tax-advantaged investment accounts when calculating budget spending. This ensures your budgets accurately reflect your day-to-day spending without being skewed by investment contributions or withdrawals. + +**Excluded account types:** +- 401(k) accounts +- IRA accounts (Traditional and Roth) +- 403(b) accounts +- Other tax-advantaged retirement accounts + +Transactions from these accounts won't count toward your budget limits, keeping your budget focused on regular income and expenses. + ## Tips for Effective Budgeting 1. **Start simple** - Begin with just a few major categories before adding detail diff --git a/guides/app-features/settings.mdx b/guides/app-features/settings.mdx index 7552c1b..d974bee 100644 --- a/guides/app-features/settings.mdx +++ b/guides/app-features/settings.mdx @@ -46,6 +46,19 @@ Configure third-party integrations and data providers from Settings → Provider Configure AI features like chat and transaction rules from Settings → Self-Hosting. See the [LLM support documentation](/llm-support) for more details. +## Data exports + +Sure allows you to export your financial data for backup or analysis purposes. When you create an export, the page automatically refreshes to show the latest status. + +### Export status tracking + +The export list page automatically polls for updates when exports are in progress: +- **Processing exports**: The page checks for updates every 3 seconds +- **Completed exports**: Auto-refresh stops once all exports are complete +- **Download ready**: Download buttons appear when exports finish processing + +This ensures you always see the current status without manually refreshing the page. + ## Account preferences Manage your personal account settings, including: diff --git a/openapi.yaml b/openapi.yaml index b9ba483..60766f7 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -3,7 +3,7 @@ openapi: 3.0.3 info: title: Sure API version: v1 - description: OpenAPI documentation generated from executable request specs. + description: OpenAPI documentation for the Sure API. servers: - url: https://app.sure.am description: Production @@ -350,6 +350,40 @@ components: format: uuid name: type: string + MerchantDetail: + type: object + required: + - id + - name + - created_at + - updated_at + properties: + id: + type: string + format: uuid + name: + type: string + logo_url: + type: string + nullable: true + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + MerchantCollection: + type: object + required: + - merchants + - pagination + properties: + merchants: + type: array + items: + "$ref": "#/components/schemas/MerchantDetail" + pagination: + "$ref": "#/components/schemas/Pagination" Tag: type: object required: @@ -1146,6 +1180,60 @@ paths: application/json: schema: "$ref": "#/components/schemas/ErrorResponse" + "/api/v1/merchants": + get: + summary: List merchants + tags: + - Merchants + security: + - apiKeyAuth: [] + parameters: + - name: page + in: query + required: false + description: 'Page number (default: 1)' + schema: + type: integer + - name: per_page + in: query + required: false + description: 'Items per page (default: 25, max: 100)' + schema: + type: integer + responses: + '200': + description: merchants listed + content: + application/json: + schema: + "$ref": "#/components/schemas/MerchantCollection" + "/api/v1/merchants/{id}": + parameters: + - name: id + in: path + required: true + description: Merchant ID + schema: + type: string + get: + summary: Retrieve a merchant + tags: + - Merchants + security: + - apiKeyAuth: [] + responses: + '200': + description: merchant retrieved + content: + application/json: + schema: + "$ref": "#/components/schemas/MerchantDetail" + '404': + description: merchant not found + content: + application/json: + schema: + "$ref": "#/components/schemas/ErrorResponse" "/api/v1/tags": get: summary: List tags diff --git a/providers/lunchflow.mdx b/providers/lunchflow.mdx index bc8f184..7ffdb4f 100644 --- a/providers/lunchflow.mdx +++ b/providers/lunchflow.mdx @@ -47,6 +47,7 @@ Sync transactions with flexible filtering: - Filter by date range (start and end dates) - Automatic pagination for large transaction sets - Transaction details include merchant, description, amount, and currency +- **Pending transactions**: Optionally include pending transactions that haven't yet posted to your account ### Investment accounts @@ -75,6 +76,28 @@ For detailed API documentation, see the [Lunch Flow documentation](https://docs. Lunch Flow is a paid service. Check [lunchflow.app](https://lunchflow.app/) for current pricing information. +## Configuration + +### Pending transactions + +You can configure Lunch Flow to include pending transactions in your syncs. Pending transactions are those that have been authorized but haven't yet posted to your account. + +To enable pending transactions, set the following environment variable: + +```bash +LUNCHFLOW_INCLUDE_PENDING=1 +``` + +When enabled, transactions marked as pending by Lunch Flow will be imported and displayed with a "Pending" badge in the UI. + +### Debug mode + +For troubleshooting, you can enable debug logging to see the raw API responses: + +```bash +LUNCHFLOW_DEBUG_RAW=1 +``` + ## Limitations - Requires a paid Lunch Flow subscription