Expenses

Bulk-import expenses from a CSV/Excel spreadsheet or CAMT bank statement

Imports many expenses at once from an uploaded spreadsheet (CSV or Excel) or ISO-20022 CAMT bank statement (camt.052/.053/.054 XML). For spreadsheets the pipeline auto-detects the file's structure (any language, any delimiter, any leading preamble) and drops rows missing the minimum fields (date, amount, description); for CAMT files only booked outgoing debits become expenses — incoming credits and reversals are reported in skipped_credits, and each transaction gets a stable fingerprint so re-importing the same statement never creates duplicates. All rows are deduplicated against the user's existing expenses (date + amount within a 1-day tolerance), enriched via Claude (category and payment method are matched against the user's existing entries — never invented), re-checked for duplicates after AI normalisation, and finally written in batches. Foreign-currency amounts are converted to CHF and the originals are preserved in originalAmount/originalCurrency.

post/expenses/import

Response

Spreadsheet processed; returns a summary of how rows were classified and how many were imported.

Changes

No recorded changes to this endpoint across all 1 revision of this API.