River
Y CombinatorBacked by Y Combinator

Finance & AccountingFree

Credit Card Statement to CSV With Receipts

Every charge matched to its receipt, every chase ordered by the day the substantiation clock closes, and the lines that need nothing dropped.

Start here

River's card matcher reads the statement and every receipt you have, matches them on merchant, amount and date, then tests each unmatched charge against what substantiation actually requires. A charge under 75 dollars that is not lodging needs no receipt, so it comes off the chase list. A hotel folio showing one total needs re-issuing even though a document is attached. What comes back is a transaction sheet with cardholder, category and evidence state, and a chase list per person.

Five products on page one already match receipts to card lines and flag the ones with nothing attached. All five produce the same binary. The rule is not binary. Documentary evidence is not needed for an expense other than lodging under 75 dollars, and where it is needed it has to show the amount, the date, the place and the essential character. In the worked example below that moves 36 lines off the chase list and puts 6 back on.

Written for the controller or bookkeeper closing a company card month with half the receipts outstanding. The statement arrives as a PDF, which is the same problem bank statement PDFs solves, and the coded result posts through the normalized trial balance. Card reconciliation is a task with an owner on the month end close checklist, and the disbursements it becomes are a line in the 13 week cash flow forecast.

A missing receipt is a payroll deadline

The chase list has a date on it, and it is not the close date. Under the fixed date safe harbor, an expense substantiated within 60 days of being incurred is substantiated within a reasonable period. Past that, the amount is paid under a nonaccountable plan: it goes into the cardholder's wages, onto box 1 of the W-2, and carries income tax withholding and employment tax. So the list sorts by days remaining, not by amount.

An attached receipt is not automatically evidence. A hotel bill supports a business trip when it shows the name and location of the hotel, the dates of the stay, and separate amounts for lodging, meals and telephone. A folio printed as one nightly total does not, and it hides a meal charge carrying a different deduction limit from the room. Six of the ninety-six cleared lines in the example are folios like that, worth 4,806.10.

Dropping 31 charges off the chase list is not the same as ignoring them. The elements still have to be recorded at or near the time of the expense: amount, date, place and essential character, plus who was there and the business relationship on a meal. So those lines get a one line entry rather than a message, and the messages that do go out ask for a specific document on a specific charge, which is what gets one back.

How it works

  1. Add the statement

    Paste or attach the card statement PDFs for every cardholder and every cycle you are closing.

  2. Point at the receipts

    Say where the images, PDFs and forwarded emails live, however scattered across drives and inboxes.

  3. River tests each line

    Charges match to documents, then every line is measured against what the rule actually requires.

  4. Send the short list

    Chase the charges that genuinely need a document, in the order their clocks run out.

What you get

  • Each charge tested against whether a receipt is required at all, before any chase goes out
  • Lodging separated out, since it needs documentary evidence at any amount with no floor
  • Attached receipts checked for the four elements, not simply counted as present
  • The chase list ordered by days left on the sixty day clock, cardholder by cardholder
  • The wage amount at stake for each person if their clock runs out before the document lands
  • A drafted message per charge naming the exact document, rather than a monthly reminder

Common questions

Do I really not need a receipt under 75 dollars?

Not for documentary evidence, and lodging is the exception at any amount. What you still owe on those charges is the record itself: amount, date, place and essential character, kept at or near the time of the expense. So they leave the chase list and land on a one line entry instead, which is a very different task.

Our policy says a receipt for everything. Does that change anything?

It tightens the list rather than replacing the analysis. Tell the intake form your limit and the chase runs on your policy. The clock still runs on the rule, so both appear: policy misses in one column, substantiation misses in another, and only the second turns into wages if it ages out.

What happens if a receipt never arrives?

After a reasonable period the amount stops being a reimbursed expense and becomes compensation. It is reported in box 1 of the cardholder's W-2 and carries income tax withholding and employment tax. The chase list is sorted so you learn that three weeks before it happens rather than at year end.

Will it read a phone photo of a crumpled receipt?

Yes, and it reads the parts that matter rather than the total. Merchant, date, amount and what was actually bought, so a card slip carrying only a total is flagged as not showing the essential character even though something is attached. Unreadable images come back named, beside the charge they were meant to cover.

Can it handle several cardholders and several months at once?

That is the normal case. Charges group by cardholder because the chase is a conversation with a person, and by cycle because the clock runs from the charge date rather than the statement date. A January charge sitting on a March statement is already forty days into its sixty. Where the same invoice also went through AP, the duplicate payment scan is what finds it.

Does it post the entries too?

It codes every line and hands you the coded sheet, which drops into the ledger through the normalized trial balance. Posting stays with you. Where a charge has no receipt and no explanation, it is coded and flagged rather than parked in a suspense account. Card spend running the other way, processor payouts landing in the bank, goes through settlement reconciliation.

Credit Card Statement to CSV With Receipts

Fill in the form and your workspace opens with the work already underway.