Skip to content

AI systems, in practice · Bookkeeping

Automated bookkeepingand month-end close

Receipts, bank lines, invoices and bills used to pile up until someone had days to match them. We built a system that reads each receipt as it arrives and proposes a match for every bank line. A person approves the batch, and the books stay current through yesterday.

How the books fell behind

Receipts sat in inboxes and wallets. Bank lines stacked up in a long column. Once a month, or once a quarter, someone spent days matching each line to an invoice, a bill or a slip of paper in the accounting software. Until they finished, the books said June while the business was in October, and every decision ran on old numbers.

Receipts in wallets. Bank lines piling up. The books say June.

From a pile of receipts to books current through yesterdayReceipts in a pile are unfolded and read. Each bank line gets a proposed match to an entry in the accounting software. One match is refused because the payment already exists. A person approves the rest in one batch, they are written to Xero, a checklist clears, and the headline date moves from June 30 to yesterday.Books current through Jun 30Books current through yesterdayRECEIPTSBANKXEROPrint shop-48.20Print shop billCourier-31.50Courier billClient INV-104+2,400.00Invoice 104Software-120.00Software billClient INV-107+1,150.00Invoice 107Hotel-212.00Hotel billOffice rent-1,800.00Rent billClient INV-109+960.00Invoice 109Print shopOct 2$48.20tax 2.30CourierOct 1$31.50tax 1.50SoftwareSep 30$120.00tax 5.71HotelSep 29$212.00tax 10.10APPROVE 7 MATCHESStatements inReceipts reviewedMatches approvedNothing in draft
Example receipts, bank lines and entries. All made up.

How the system works

Receipts are read when they arrive.

Forward a receipt to an inbox or photograph it. The system reads the vendor, date, total and tax, and lines it up for review. Nobody types a number.

Every bank line gets a proposed match.

Statement lines are compared with open invoices, bills and receipts. Each proposal shows its evidence beside it: the amount, the name and the dates.

It won't post a payment twice.

Before anything is written, the system checks Xero. If a payment already exists for that invoice, the match is refused and nothing is written. A match someone dismissed doesn't come back on the next run.

A checklist for closing the month.

Statements in, receipts reviewed, matches cleared, nothing left in draft. Anything the system can't confirm shows as unknown, and closing over a gap needs a written note. The result is one date: the day the books are current through. It never skips past an open month.

Try approving a batch

Three proposed matches from a made-up month. Approve the ones you trust and dismiss the ones you don't. The system already refused one on its own.

  • Client payment +2,400.00

    Bank line

    Invoice 104

    Same amount, same client name, two days after the invoice date.

  • Courier -31.50

    Bank line

    Bill from Courier, with receipt

    Receipt read on arrival: Courier, Oct 1, 31.50, tax 1.50.

  • Client payment +1,150.00

    Bank line

    Invoice 107

    Refused: Xero already holds a payment against this invoice. Nothing was written, and this pairing won't be proposed again.

    Refused

0 written to Xero · 2 waiting · 1 refused

Example entries. In your books, every proposal arrives with its own evidence.

What the bookkeeper approves

A bookkeeper approves each match in batches, with the evidence beside it, and only then is anything written to Xero. The accountant still files the taxes. The bookkeeper spends their time approving instead of matching.

Results

receipts are read the day they come in
On arrival
approved by a person before anything reaches Xero
Every match
is a checklist to clear, with no backlog to catch up on
Month-end

Two ways to start