Case Study · Finance Automation

Connecting financial transactions, documents and business rules

How PTAS AI combines document intelligence and finance automation to support reconciliation, exception handling and controlled financial workflows.

Person in a suit reviewing a bar chart on a tablet beside a calculator, planner and printed charts

Case study 03 · The challenge

What reconciliation by spreadsheet has to replace

The information needed to reconcile an account is spread across bank statements, the ledger, invoices and the vendor master. Comparing them by hand is slow, and it is slowest on the lines that matter most. This case study follows one statement from arrival to a proved book-to-bank position.

This page describes a representative workflow rather than a customer deployment. These case studies illustrate PTAS AI product and solution architectures and representative business workflows. They are not presented as customer deployments or independently measured customer results.

Today

The bank rec is weeks behind

Statements are downloaded at month end and matched line by line in a spreadsheet by the one person who knows the accounts. Everything else they own waits while they do it.

Today

A credit nobody can place

A customer pays two invoices in one transfer, with a narration that names neither clearly. Matched on amount alone it finds nothing, so it goes to suspense and stays there.

Today

The statement is retyped first

PDF statements from banks without a feed are keyed or copied into a sheet before matching can start. A dropped line shows up only when the closing balance fails to agree, if anyone checks.

Underneath

Four sources, no common key

The statement, the ledger, the invoices and the vendor master each hold part of the answer. The narration is the only thread between them, and nobody wrote it to be read by a machine.

Underneath

Breaks with no owner and no age

An unmatched item from last quarter sits in the same list as this morning's. Nothing escalates, so the oldest breaks are the least likely to be looked at.

Underneath

Adjustments without evidence

A write-off or a reclassification is posted with a journal narration and no link to the statement line or the approval. The auditor asks, and someone reconstructs it from email.

The PTAS AI approach

Two products, one reconciliation

DocPro understands documents. FinSuite executes finance workflows. Here DocPro turns statements into proved transaction lines, and FinSuite matches them to the ledger, explains what it can and routes the rest to a person.

  1. 01

    Understand

    DocPro's Bank Statement Agent reads each statement, whether PDF, scan or export, into transaction lines: value date, narration, reference or UTR, debit, credit and running balance. It proves the extraction by checking that the opening balance plus every line equals the closing balance, page by page. CSV, MT940 files and bank feeds enter the same structure.

    A statement becomes lines you can trust

  2. 02

    Decide

    FinSuite matches each line against what the ledger expects: payment runs, customer receipts, open bills and invoices. It uses amount, date window, UTR, counterparty and narration together, so one transfer can settle several invoices. Your business rules set the tolerances, the date windows and the patterns that count as explained.

    Matched on evidence, amount included

  3. 03

    Act

    Matched lines clear with the rule that matched them stored on the line. Known patterns such as bank charges and interest are explained and booked to the account you name. Everything else goes to the break list with a likely cause, an owner and an age. Adjustments post with the reason and the approval attached.

    Clear, explain or hold

  4. 04

    Verify

    The book-to-bank position is proved every time the reconciliation runs, with the statement, the matches and the adjustments attached. By close, the reconciliation has already been done.

    Done before the close starts

The figure is one account's daily run once both products have done their part. Most lines clear by rule; three go to the break list with a cause. The counts and amounts are illustrative.

One account, one day's statement · Illustrative example

PositionLinesValue
Read, balance proved186₹ 2,91,40,000
Matched one to one158₹ 2,46,85,000
Matched one to many, or many to one19₹ 40,92,710
Explained by rule: charges, interest6₹ 1,24,890
New breaks, sent to the list3₹ 2,37,400
Cleared without a person183₹ 2,89,02,600
3 new breaks Each goes on the account's break list with a likely cause, an owner and an age. The 183 others carry the rule that cleared them.

Illustrative data. A run is finished when every line on the break list has an owner, not when the matching stops.

The balance is the checksum

A statement whose lines do not sum to its closing balance is reported incomplete and never matched.

One to many, many to one

Batch payments and part payments matched, with the rule that matched them stated.

Breaks age

The oldest open item sits at the top of the list, with an owner.

The workflow

Ten steps from statement to proved position

Two paths leave the business rules at step six. Lines that match or explain themselves clear at step seven. Lines that do not go to a person at step eight, with the cause stated. Both paths end in the same ledger and the same audit trail.

  1. 01

    Bank statement

  2. 02

    DocPro

  3. 03

    Transaction lines

  4. 04

    Balance proof

  5. 05

    FinSuite matching

  6. 06

    Business rules

  7. 07

    Match: cleared

  8. 08

    Exception: human review

  9. 09

    Ledger posting

  10. 10

    Audit

DocPro reads → FinSuite matches → Your ledger holds the proved position

How the two products divide the work

Step by step

What each step does, and who owns it

DocPro owns the first four steps. FinSuite owns everything from matching to the trail. Your people own step eight, and only the lines no rule could settle reach them.

StepOwned by
01 Bank statement. The statement arrives as a PDF downloaded from net banking, a scan, a CSV or MT940 export, or a bank feed where the bank offers one. It is logged with its account and its period. Capture, by DocPro
02 DocPro. The document is classified as a bank statement and sent to the Bank Statement Agent. A statement that covers several accounts is split into one set of lines per account. DocPro classification
03 Transaction lines. Each row becomes a typed line: value date, narration, signed amount, running balance and currency, with the UTR, reference and counterparty parsed out of the narration. Each field carries a confidence score. DocPro Bank Statement Agent
04 Balance proof. Opening balance plus every line must equal the closing balance on each page and across the statement. When it does not, the statement is reported incomplete with the page and the gap named, and matching does not start on it. DocPro Bank Statement Agent
05 FinSuite matching. Lines are matched against the ledger: payment runs, customer receipts, open bills and invoices. Amount, date window, UTR, counterparty and narration are weighed together, so one transfer can settle several invoices and a part payment leaves the balance open. FinSuite Bank Reconciliation
06 Business rules. Your rules set the date window for each bank, the tolerance for each kind of transaction, the narration patterns that mark a bank charge or interest, and the account each explained item books to. Every rule is versioned, and a change does not rewrite past matches. FinSuite business rules
07 Match: cleared. A matched or explained line clears with the rule that matched it stored on the line. Charges and interest are booked to the account the rule names. FinSuite Bank Reconciliation
08 Exception: human review. A line no rule can settle goes to the break list with a likely cause, an owner and an age: no bill on file, counterparty not in the master, part payment with a balance open. The reviewer matches it, proposes an adjustment or chases someone, and the action is recorded. Human-in-the-loop review
09 Ledger posting. Cleared items and approved adjustments are written to your ledger through native, API, file or custom integration, with the statement line linked to the entry it produced. FinSuite Integrations
10 Audit. For any past date, the proved book-to-bank position can be shown again: the statement image, every line, what each matched and why, every adjustment and who approved it. Audit trail, FinSuite

Step four, the balance proof. If opening balance plus every line read does not equal the closing balance, nothing downstream starts. The amounts are illustrative.

Statement page 3 of 7 · Illustrative example

Narration Amount Balance
Opening balance carried forward — ₹ 18,42,910
NEFT MERIDIAN COMPONENTS UTR N2608141 − 2,70,220 ₹ 15,72,690
Bank charges — outward remittance − 590 ₹ 15,72,100
RTGS NORTHGATE LOGISTICS UTR N2608147 − 1,18,400 ₹ 14,53,700
Closing balance — carried to page 4 — ₹ 14,53,700
Balanced Opening plus every line read equals closing, and closing carries to the next page.

When that sum does not hold, the extraction is reported as incomplete rather than returned looking clean. It is usually a page that never arrived.

Step five, on a line that defeats a spreadsheet. One credit settles two invoices, and the evidence that matched it travels with the line. The values are illustrative.

One statement line, two invoices · Illustrative example

Bank statementLine 41 of 186
Value date18 Sep 2026
NarrationNEFT CR INV 3381/3394
UTRN2619033
Credit₹ 2,36,000
LedgerCustomer C-0412, open
Invoice 3381₹ 1,41,600 · due 15 Sep
Invoice 3394₹ 94,400 · due 20 Sep
Sum of the two₹ 2,36,000Exact
Date windowInside 5 daysInside
Matched, many to one Two invoice numbers in the narration, amounts that sum exactly, a date inside the window. The rule that matched it is stored on the line.

Illustrative data. Matching on amount alone finds nothing here, because no single open item equals ₹ 2,36,000.

Human review

Where a person comes in, and what they see

Review is a control, not a failure state. A person sees a break no rule could settle, already separated from the ones that explained themselves, with a likely cause and an age.

Break list — 5 open on this account · Illustrative example

ExplainedNo action needed
₹ 590 · 2 daysOutward remittance feeBank charge
₹ 1,18,400 · 4 daysPaid 29 Aug, invoiced 2 SepTiming
₹ 47,000 · 6 daysPart payment, ₹ 23,000 still openPart paid
Needs a personOldest first
₹ 12,900 · 31 daysNo matching bill on fileChase
₹ 8,400 · 19 daysCounterparty not in vendor masterIdentify

Ageing is what stops the old breaks hiding behind this month's new ones. Three explain themselves; two do not.

Three of the five items explained themselves; two need a person, oldest first. The reviewer sees the statement line and the candidates the matcher rejected, with the reason for each. An adjustment above your limit needs a second approver. The amounts are illustrative, and the human-in-the-loop guide covers keeping a queue like this short.

Products used

DocPro and FinSuite, as used in this case study

DocPro provides the intelligence layer. FinSuite provides the finance workflow layer. FinSuite can also take statements that arrive already structured, as CSV, MT940 or a feed; DocPro is what makes the PDF and scanned ones usable.

PTAS AI / Product

DocPro

Agentic Document Intelligence

StatementClassifyReadProveHand over

DocPro owns the reading. Its Bank Statement Agent turns each statement into typed transaction lines, proves them against the running balance and hands them to FinSuite.

  • Bank Statement Agent for PDFs, scans and exports
  • Running balance proved on every page
  • UTR, reference and counterparty parsed from the narration
  • Field-level confidence on every line
PTAS AI / Product

FinSuite

AI Finance Operations

MatchExplainHoldPostProve

FinSuite owns the reconciliation. It matches lines to the ledger under your rules, explains the known patterns, keeps the break list and posts adjustments with their evidence.

  • One to one, one to many and many to one matching
  • Charges, interest and timing explained by rule
  • An owned, ageing break list
  • Adjustments posted with reason and approval

FinSuite writes to the ledger through one of four methods: native integration, API integration, file or flat-file integration, or custom integration. SAP, Oracle, Microsoft Dynamics, NetSuite, Tally and Zoho Books are planning examples; which method applies to your instance, and the scope of the mapping, is confirmed during assessment.

How postings and status flow

Controls

What keeps the reconciliation honest

A reconciliation that runs itself also has to explain itself. Each control here is a step in the chain, and each leaves a record. The FinSuite security page has the detail.

Matching rules you can read

Date windows, tolerances and narration patterns are configuration with an owner. Every match traces to the rule that made it, and a rule change does not rewrite history.

A second person on adjustments

A write-off or reclassification above the limit you set needs an approver other than the person who proposed it. Both are recorded on the entry, with the reason.

A position you can reproduce

The statement image, every line, each match and each adjustment are kept, so the book-to-bank position for any past date can be shown again.

Data handling

Statements and account details under role-based access, account numbers masked where a role does not need them, retained for the period your policy sets. Cloud, private cloud or on-premise deployment where supported, with ISO/IEC 27001-aligned practices.

What we would not automate here: writing off a break because it is old, or matching a credit to an invoice on amount alone when the narration points somewhere else. Both wait for a person, and the record shows that they waited.

Next step

How to test this on your own accounts

Pick the account with the most volume or the oldest break list. A month of its statements, the ledger extract for the same month and the break list as it stands today is the test worth running.

Going live is typically four to twelve weeks for a single workflow, an indicative range that varies by document types, workflows, integrations and deployment. The number of banks, which of them offer feeds and how much history sits on the current break list all move it. The workflow on this page is representative; it is not presented as a customer deployment or an independently measured result.

FAQ

Questions finance teams ask about this case study

Is this a customer deployment?

No. This case study describes a representative workflow built from DocPro and FinSuite. It is not presented as a customer deployment or an independently measured result, and the numbers in the figures are illustrative.

Our bank does not offer a feed. Does that matter?

Less than you might expect. DocPro reads PDF and scanned statements into lines, with the running balance used as a check on the extraction. A feed arrives daily without anyone downloading anything, which helps, but the matching and the rules are the same whichever way the statement comes in.

What happens to a line no rule can match?

It goes on the break list with a likely cause, an owner and an age. The reviewer matches it by hand, proposes an adjustment or chases someone, and whatever they do is recorded against the line. Because the list ages, an item from last quarter cannot hide behind this morning's.

Can it match one payment that covers several invoices?

Yes, and the reverse. A single transfer can be matched to several open invoices when the amounts and the narration support it, and several receipts can be matched to one invoice. A part payment leaves the remaining balance open against the original invoice.

Does it post adjustments to our ledger automatically?

Explained items such as bank charges post by rule to the account you specify. Write-offs and reclassifications are proposed from the break and post only once approved, by a second person above the limit you set. Every posting links back to its statement line.

Next step

Find the account worth reconciling first

Tell us how many bank accounts you reconcile, how the statements arrive and how long the break list is. We will point to the account to start with and the rules it needs.