By team
AI agents and automation for finance teams
Reconciliation is three days of somebody comparing two screens, and the month-end close is a queue of documents waiting to be read by a person. Both are matching problems with clear right answers, which makes finance the safest and highest-return place in most companies to automate — provided every posting stays explainable.
Two weeks to a written build plan · no obligation to build with us
- Invoice, PO and receipt, automatically
- Three-way matchInvoice, PO and receipt, automatically
- You set what may post unattended
- Tolerance rulesYou set what may post unattended
- Every posting traces to its document
- Full trailEvery posting traces to its document
- To a written build plan, via the audit
- 2 weeksTo a written build plan, via the audit
Where the time goes
If two of these are true, there is something here
Written the way the people doing the work describe it, not the way a process document does.
Reconciliation is a person comparing two screens
Bank feed on one side, ledger on the other, and a human deciding whether two lines are the same payment. The most automatable work in the building, and the last anyone trusts to automate.
Every invoice is typed in
Supplier invoices arrive as PDFs and scans. Someone reads four fields off each one, matches it to a purchase order by eye, and keys it into the ledger.
Close takes as long as it takes
Accruals, intercompany, unmatched items and missing documents. Nobody can say on day two whether close will land on day five or day nine.
Management reporting is rebuilt every month
The same exports, the same pivot tables, the same manual adjustments — by the same person, who is the only one who knows which adjustments still apply.
What we connect to
The systems you are already running
Finance teams usually have a capable ledger surrounded by documents it cannot read. The work is connecting those documents to it safely.
- Ledgers and ERP
- Xero
- QuickBooks
- NetSuite
- SAP Business One
- Odoo
- Microsoft Dynamics 365 BC
- Tally
- Banking and payments
- Bank feeds
- Open banking APIs
- Plaid
- Stripe
- Card and expense providers
- Documents and reporting
- Supplier PDF invoices
- Receipts and expense claims
- Excel workbooks
- BI tools
- Board pack templates
What we build here
Five things worth building for finance
Each one names the systems it touches, because an integration that is not named is an integration nobody has thought about yet.
- 01
Bank reconciliation
Feed lines matched to ledger entries on amount, date window, reference and counterparty, with fuzzy matching where references are human-entered. Confident matches clear; the rest arrive as a ranked shortlist rather than an empty search box.
- Touches
- Bank feeds · ledger · accounting system
- What changes
- Daily reconciliation becomes a review of the hard cases only.
- 02
Accounts payable intake
Supplier invoices read from the mailbox into line items, three-way matched against purchase order and goods received, coded to your chart of accounts, and posted when everything agrees within tolerance.
- Touches
- AP mailbox · purchase orders · ledger
- What changes
- The keying job disappears; only genuine mismatches reach a person.
- 03
Expense and receipt processing
Receipts read, categorised against your policy, checked for duplicates and policy breaches, and routed for approval with the exception named rather than left for an approver to spot.
- Touches
- Expense tool · card feeds · policy rules
- What changes
- Approvers see the exceptions instead of scrolling through compliant claims.
- 04
Close checklist that runs itself
Recurring close tasks tracked with their dependencies, the mechanical ones executed, the blocked ones surfaced early with the reason, so day two tells you whether close is on track.
- Touches
- Ledger · task tracking · source systems
- What changes
- Close becomes predictable rather than discovered.
- 05
Management reporting from the ledger
The monthly pack generated from the ledger with your adjustments held as versioned rules rather than as a habit, and variances explained by pointing at the transactions behind them.
- Touches
- Ledger · reporting templates · BI tools
- What changes
- The pack is produced in minutes and every number can be drilled into.
How it is put together
How an invoice becomes a posted entry
Everything here is designed around one question: can you explain, in nine months, why this specific entry was posted at this value?
- 01
Capture
Mailbox, upload or feed. The original document is stored untouched, and every downstream record references it — a query from an auditor or a supplier is answered against what actually arrived.
- 02
Extract
Line items, tax, dates and references pulled out with a confidence score per field. Low-confidence fields are flagged rather than guessed; an invoice is not a place for a best estimate.
- 03
Match
Deterministic matching first — exact amounts, references, PO numbers. Model-assisted matching only for what deterministic rules could not settle, and always with the evidence shown.
- 04
Test tolerance
Your tolerance by value, by percentage and by supplier decides what may post unattended. Everything else queues with both figures side by side and a proposed action.
- 05
Post and evidence
Scoped ledger credentials, idempotency on the document reference so a retry cannot double-post, and a record of the inputs, the rule version, the model version and the approver.
Your data
What we will and will not do with it
Stated plainly, and without claiming a certification we do not hold. If a requirement here is harder than what is written, say so on the call and we will tell you whether it is buildable.
No unattended payments
We build systems that read, match, code and propose. Releasing a payment stays a human action with your existing authorisation controls. Payment fraud in AP is overwhelmingly a social-engineering problem, and removing the human removes the last check.
Tolerances are your numbers, not a model’s confidence
What may post unattended is defined by you in currency and percentage terms. Model confidence is an input to whether a field is trusted, never the authority for whether an entry may post.
Supplier bank detail changes always stop
A change of bank details on a supplier record is held for out-of-band verification, every time, regardless of how legitimate the request looks. This is the single most exploited path in finance automation and there is no version of it we will automate.
Proof
We run a finance agent of our own, in production
Budge is ours: a sentence in, a parsed entry shown for confirmation, then a write to a real double-entry ledger — across web, iOS and Android, in over 150 currencies, on a model we customised and host ourselves. Categorisation drift, the correction loop, currency rounding and what a model call costs at volume are things we learned by operating it. Alongside it, we took the accounting off a parallel spreadsheet for Base Papers, which is the same problem at company scale.
- Currencies supported
- 150+Currencies supported
- Web, iOS and Android
- 3 platformsWeb, iOS and Android
- Customised DeepSeek model
- Self-hostedCustomised DeepSeek model

Technology
What this gets built with
We pick the boring option unless there is a reason not to — the framework is the part most likely to be abandoned before your system is.
- Extraction
- Document AI
- OCR
- Layout parsing
- Confidence scoring
- Duplicate detection
- Matching
- Deterministic matchers
- Fuzzy matching
- Three-way match
- Tolerance rules
- Integration
- Xero / QuickBooks APIs
- NetSuite
- SAP B1 Service Layer
- Bank feeds
- FastAPI
- Controls
- Immutable document store
- Audit log
- Idempotency keys
- Scoped credentials
- RBAC
How the engagement runs
Five phases, each with something you can hold
Every phase ends in a named deliverable. You can stop after any of them and keep what has been built.
- 01Week 1–2
Sit with the work
We watch the process as it is actually done, not as the process document says. The output is a map of every step, which system it touches and how long it takes.
DeliverableProcess map and a shortlist of what is worth automating - 02Week 2–3
Design the access layer
Which systems get read, which get written to, what scope each credential carries, and which decisions stop for a person. Agreed in writing before anything is built.
DeliverableArchitecture and permission model - 03Week 3–8
Build against your real data
Built in your sandbox against real records, not a demo dataset. The write path goes through a review queue from the first day, so nothing lands in a live system unseen.
DeliverableRunning system in staging, with the review queue - 04Week 8–10
Run it beside the humans
It runs in parallel with the people doing the job. We compare the two outputs, fix what differs, and only then start letting the routine path through unattended.
DeliverableAgreement rate report and a go-live threshold - 05Ongoing
Hand over and watch
Source code in your repository, deployment in your accounts, cost and failure dashboards you can read without us. Support if you want it, not because you are locked in.
DeliverableRepository, runbook and monitoring
Why Devs Core
Three reasons that are checkable
We run two of our own products
Cadenza and Budge are ours. What an agent costs per run, where it fails and which decisions need a person came from operating them, not from a vendor deck.
The write path is reviewed by default
Anything that changes a record in a system of record goes through a queue a person can see. You choose what graduates to unattended, and when.
You own the code
Source in your repository, infrastructure in your accounts, model keys in your name. There is no runtime of ours you have to keep paying for.
Questions
Finance — the questions we get asked
How accurate is invoice extraction, really?
Very good on machine-generated PDFs, variable on scans and photographs — which is why every field carries a confidence score and low-confidence fields hold rather than post. The number worth asking about is how many invoices still need a human touch after a month, and we measure and report that during the parallel run.
What stops a duplicate or fraudulent invoice getting through?
Duplicate detection on supplier, amount, date and document reference, plus a hard stop on any supplier bank detail change pending out-of-band verification. Payment release stays with your existing authorisation controls in every case.
Can it post directly to our ledger?
Yes, through a scoped credential that can create the entries it needs and nothing else, with idempotency on the document reference. Whether it posts unattended is your tolerance decision, and most teams start with a proposed batch the controller releases.
How do we satisfy our auditors?
Every posted entry carries its source document, extracted fields with confidence scores, the rule version that permitted it and the approver where there was one. Auditors generally find this easier than a manual process, because sampling becomes a query.
Our ledger is old and has no API.
Then we work through its import format or its database, which is common and workable. What we will not do is automate a UI and call it an integration — if that is the only path, we will say so before you commit to a build.
Where should a finance team start?
Bank reconciliation or AP intake. Both have clear right answers, an obvious current cost in hours, and a safe failure mode — an unmatched item simply stays unmatched until a person looks at it.
Related
What finance buys most often
- Read more
Process Automation
Replace the manual steps between two systems — the re-keying, the copy-paste, the spreadsheet that reconciles what neither system knows.
From $4,500 - Read more
AI Agent Development
Agents that take real actions in your systems — reading live data, drafting work, and writing back only what a person has approved.
From $6,500 - Read more
AI Integration Services
The access layer between the software you already run and any AI model — so an agent can reach your ERP, CRM or helpdesk without being handed the keys.
From $8,000 - Read more
AI Readiness Audit
Two weeks that end in a written plan: which processes are worth automating, what each would cost, and what has to be fixed first.
From $2,400
- By industry
FinTech & Financial Services
Every exception is a person reading a document and typing the result somewhere else.
- By team
Operations
Half the process runs in the software and half in a spreadsheet.
- By industry
Manufacturing & Textiles
The accounts and the stock do not match, and nobody knows until month end.
Tell us which process is costing you.
Thirty minutes, no preparation, no deck. You describe what keeps going wrong and we tell you whether AI is the answer — including when it is not.
Prefer email? contact@devs-core.com