Invoicing
6 documents need youReplaces: BC invoice posting · supplier invoices keyed into BC from a PDF
Invoiced£1,082gross, across 1 invoice
Not yet invoiced£3,3261 open order still to ship in full
Balance in Xero£27,617arrives from the ledger, never re-keyed
Capture desk6waiting on a person
Invoices on this accountOne invoice per order, raised the moment the rule allows
| Invoice | Raised | Site | Due | Xero | Gross |
|---|---|---|---|---|---|
| INV-10463Order SO-10463 · PO HAL-96378 | 09/07/2026 | Basildon CampusBasildon | 08/08/20265d past due | In the ledger | £1,081.73 |
INV-10463Order SO-10463 · PO HAL-96378In the ledger
Raised09/07/2026SiteBasildon CampusBasildonDue08/08/20265d past dueGross£1,081.73
1 invoice, £1,082 gross
Whether an invoice has been paid comes back from Xero with the balance, so the statement and the ledger can never disagree.
AI invoice captureThe accounts desk: supplier documents read, normalised and matched, then resolved by a person6 for a personAdd invoice
| Document | PO as printed | Extraction | What it needs | Stage | Resolve |
|---|---|---|---|---|---|
| PUR48521Purevex Chemicals · £497.36 | PO4802read as PO-4802 · 93% sure | 94% | 1 of 3 lines matched, 2 need you£46.04 does not reconcile | Match held | Resolve it |
| BEL45997Bellhaven Paper · £1,466.06 | P.O. 4815read as PO-4815 · 93% sure | 95% | 1 of 2 lines matched, 1 needs you£39.00 does not reconcile | Match held | Resolve it |
| DUN43473Duncroft Sanitaryware · £3,043.60 | 4821-Aread as PO-4821 · 93% sure | 96% | 3 of 5 lines matched, 2 need you£96.00 does not reconcile | Match held | Resolve it |
| IVY41711Ivywell Naturals · £20,164.75 | PO4823read as PO-4823 · 93% sure | 98% | 0 of 5 lines matched, 5 need you£8,417.66 does not reconcile | Match held | Resolve it |
| NOR43664Nordlin Paper Mills · £15,866.47 | Order 4803 / 1read as PO-4803 · 48% sure | 87% | 0 of 6 lines matched, 6 need younot payable, say what it is | Read as a delivery note | Resolve it |
| THO44378Thornlea Packaging · £64,867.30 | PO4810read as PO-4810 · 93% sure | 91% | all 9 lines settled1 field the model doubted | Human review | Resolve it |
PUR48521Purevex Chemicals · £497.36Match held
PO as printedPO4802read as PO-4802 · 93% sureExtraction94%What it needs1 of 3 lines matched, 2 need you£46.04 does not reconcileResolveResolve it
BEL45997Bellhaven Paper · £1,466.06Match held
PO as printedP.O. 4815read as PO-4815 · 93% sureExtraction95%What it needs1 of 2 lines matched, 1 needs you£39.00 does not reconcileResolveResolve it
PO as printed4821-Aread as PO-4821 · 93% sureExtraction96%What it needs3 of 5 lines matched, 2 need you£96.00 does not reconcileResolveResolve it
IVY41711Ivywell Naturals · £20,164.75Match held
PO as printedPO4823read as PO-4823 · 93% sureExtraction98%What it needs0 of 5 lines matched, 5 need you£8,417.66 does not reconcileResolveResolve it
NOR43664Nordlin Paper Mills · £15,866.47Read as a delivery note
PO as printedOrder 4803 / 1read as PO-4803 · 48% sureExtraction87%What it needs0 of 6 lines matched, 6 need younot payable, say what it isResolveResolve it
THO44378Thornlea Packaging · £64,867.30Human review
PO as printedPO4810read as PO-4810 · 93% sureExtraction91%What it needsall 9 lines settled1 field the model doubtedResolveResolve it
6 documents on the desk, 6 waiting on a person, 0 posted to Xero today
The AI reads, proposes and explains. It never posts, pays or approves: every document that reaches Xero was approved by a named person, and a held match cannot be approved until somebody writes down why. Open any document to correct a field, decide a line and post it. Add invoice reads a document you upload for real, on the same contract. The documents already on the desk were captured over the seeded orders and receipts.
The Xero connectionXero stays the financial ledger. mCentral OPS feeds it and reads it, both ways on a clockConnected
TenantMaintenance Supply Co (demonstration tenant)authorised by Administrator · 17/04/2026
Token23 minutes, refreshed automatically4 scopes, accounting only
API calls today1,840 of 5,00037%
Last inbound sync13/08/2026 06:15balances, credit status, payments
Last outbound send13/08/2026 07:42invoices batch every 15 minutes
Queue now4 waiting · 1 dead letter10 sent today
mCentral OPS feeds XeroCustomersOn change, within a minuteSales invoicesBatched every 15 minutesCredit notesBatched every 15 minutesPurchase invoicesOn approvalStock valuation journalMonth endCost of sales journalMonth endRebate accrualsMonth end
Xero answers backCustomer balancesEvery 15 minutesCredit statusEvery 15 minutesPayment statusEvery 15 minutesThe ledger stays Xero's. mCentral OPS keeps the operational truth the ledger cannot see: open orders, holds and exposure.
In the queue right now
| Item | Reference | State | Value |
|---|---|---|---|
| Sales invoicequeued 13/08/2026 07:10 | INV-10409 | Retrying | £2,670.25 |
| Sales invoicequeued 13/08/2026 07:11 | INV-10411 | Dead letter | £4,504.88 |
| Sales invoicequeued 13/08/2026 07:12 | INV-10414 | Queued | £7.38 |
| Rebate accrualqueued 13/08/2026 06:30 | RBC-3100 | Queued | not a money item |
| Rebate accrualqueued 13/08/2026 06:31 | RBC-3101 | Queued | not a money item |
Sales invoicequeued 13/08/2026 07:10Retrying
ReferenceINV-10409Value£2,670.25
Sales invoicequeued 13/08/2026 07:11Dead letter
ReferenceINV-10411Value£4,504.88
Sales invoicequeued 13/08/2026 07:12Queued
ReferenceINV-10414Value£7.38
Rebate accrualqueued 13/08/2026 06:30Queued
ReferenceRBC-3100Valuenot a money item
Rebate accrualqueued 13/08/2026 06:31Queued
ReferenceRBC-3101Valuenot a money item
2 stuck, 3 still moving. Nothing here is lost.
INV-10409 Xero returned 401: the refresh token was rejected. Re-authorise the connection. Everything queued behind it will send in order afterwards.
INV-10411 Xero returned 400: the nominal account on one line is not in the chart of accounts. Correct the nominal mapping on the product category, then retry.
When Xero is unreachable nothing stops: documents queue, retry at 1, 5, 15, 60 minutes, then dead-letter for a person. Ordering and despatch never wait on the ledger. Simulated connection: no call leaves this prototype.