All products
Audit & Assurance
CA Audit
AboutContactSupportSign InBook a Demo →
Spend Management · vendor payables · employee reimbursement

Most expense tools digitise the paperwork. This one encodes the controllership.

Two money-out flows — an employee's receipt and a vendor's invoice — on one spine. Drop the document; OCR reads it. Then twenty deterministic engines decide the GST split and whether the credit is legal, the reverse-charge notification, the TDS section and threshold, the MSME 43B(h) clock, the PO match, the fraud score and who must approve. A journal is suggested, a person accepts it, and it lands in the real general ledger. AI reads the document; it never decides a rate, a credit, a deduction or an approval.

✓ GST · ITC · RCM · TDS · MSME native✓ 2 / 3 / 4-way PO match✓ Delegation of authority by amount and risk✓ Posts to the real GL✓ Payment runs to bank file and UTR✓ 15 masters, zero deploys
20
Deterministic engines — policy, fraud, GST, GSTIN, RCM, TDS, MSME, matching, approval, accounting and more
13
Fraud signals on expenses, plus 6 on payables including the bank-change payment hold
3
Clicks for an employee claim — photo, review, submit
15
Admin-editable masters — chart of accounts to approval matrix — no deploy to change
The problem

The illegal credit hiding in every reimbursement tool.

An employee's hotel bill is in the employee's name, so it is not a tax invoice to the company under Sec 16(2)(a) — no input credit arises and the GST is a cost. Almost every reimbursement tool books it as recoverable ITC anyway. It is one of many places where ‘digitised’ is not the same as ‘correct’.

Dead credits

CGST + SGST on an out-of-state hotel where you are not registered is permanently unrecoverable. Most tools book it as an asset.

The 43B(h) clock

An MSME invoice unpaid past 45 days disallows the expense for tax. The clock starts at acceptance — not when AP gets round to it.

Rule 37

Credit on a supplier unpaid after 180 days must be reversed. Nothing else in the stack performs the sweep.

What others can't do

What an expense app or an ERP AP module will not tell you.

The invoice explains itself before it is saved — and the bottom line is the one a controller wants: cost to P&L, net payable to vendor.

ONLY HERE · 01

It refuses an illegal credit

ITC verdict with its legal reason — employee-named bill, unregistered place of supply, Sec 17(5) blocked category — decided by the GST engine.

ONLY HERE · 02

GSTIN checksum, not a regex

Mod-36 checksum validation catches the single misread digit that a format check waves through.

ONLY HERE · 03

Reverse charge, by notification

Ten notified RCM scenarios, specificity-scored, naming the notification that applies.

ONLY HERE · 04

TDS both limbs

Section, rate, single and aggregate thresholds, 206AA, Sec 197 certificates and retrospective catch-up when a threshold is crossed mid-year.

ONLY HERE · 05

Approvals that explain themselves

“₹12,00,000 needs 2 approvals — escalated because no PO was raised.” Amount bands plus five risk escalations.

ONLY HERE · 06

Month-end is a screen

Provisions with auto-reversal on the 1st, prepaid amortisation by the day, TDS liability with deadlines and the 180-day ITC reversal.

What is inside

Two flows, one spine.

Ten screens: My Expenses · Approvals · Payables · Procure · Payments · Journal & TDS · Library · Compliance · Reports · Config.

EXPEmployee reimbursementReceipt photo → OCR → category, policy limit by grade × category × city tier, fraud score, submit.
POProcurePurchase orders and goods receipts, with budget committed at PO.
APVendor payablesInvoice OCR, tax verdict, 2 / 3 / 4-way match with seven named checks.
TAXTax enginesGST place of supply, CGST+SGST xor IGST, ITC, RCM, TDS and MSME combined into one explainable verdict.
DOADelegation of authorityAmount bands with risk escalations and four-eyes.
JNLJournal rules13 seeded templates resolving Dr / Cr legs; human review; precision-preserving post to the GL.
PAYPayment runsRun planning with refusals, bank-file generation, UTR capture and settlement.
CLSMonth-end closeProvisions, prepaid, TDS challans, MSME interest accrual and ITC reversal.
BUDBudgets & MISActual + committed vs budget by department; MIS by department, location, type, GL head × month.
VNDVendor risk & bankVendor risk score; bank-detail change places a payment hold.
G2BGSTR-2B reconciliationPurchase register matched to 2B before credit is claimed.
LIBLibrary & complianceEvery document, every verdict and every approval, retrievable for the auditor.
AI-native · 2 live

AI reads the document. Nothing else.

One job for the model — turning a receipt or invoice into fields — and every field is then checked by a deterministic engine.

Receipt & invoice OCR

Live

Merchant, amount, date, GST, GSTIN and line items read from a photo or PDF, then cross-checked (GSTIN checksum, tax arithmetic) before a person sees them.

Category at extraction

Live

The expense category is proposed as the document is read; the policy, tax and journal engines take it from there.

Spend copilot

Roadmap

Ask “what did we spend on travel in Q2 over policy?” — answered from journal legs through a text-to-metric layer, as in Expense Intelligence.

The boundary

Across every FinIFRS product the rule is the same: a deterministic, tested engine computes and stores every figure first. AI reads documents, drafts sentences and answers questions over what is already stored — it never computes, posts or approves an amount.

Highly configurable

Fifteen masters. Zero deploys.

Everything a controller argues about is a master they edit, not a ticket they raise.

Chart of accounts, expense categories and MIS groupings.
GST rates, TDS sections, RCM rules and company GSTINs.
Policy limits by grade × category × city tier, with hard caps and soft (exception) caps.
Approval matrix — amount bands, risk escalations, approver roles.
Departments, locations, employee profiles and budgets.
Vendors and their banking, MSME status and TDS profile.
Journal rules — which legs an event posts and on what amount basis.
Neck and neck

Side by side.

Against a standalone expense app and an ERP's AP module.

CapabilityExpense appERP AP moduleFinIFRS
ITC refused on employee-named billsBooks as ITCManual✓ Engine decides
GSTIN mod-36 checksumFormat onlyFormat only✓ Native
RCM by notified scenario—Partial✓ 10 scenarios
TDS both limbs + 206AA + Sec 197—Partial✓ With catch-up
MSME 43B(h) clock and interest—Report✓ Countdown on the invoice
Rule 37 180-day ITC reversal——✓ Month-end sweep
Employee and vendor on one spineEmployee onlyVendor only✓ Both
AI that cannot decide a credit——✓ OCR only
The questions the room actually asks

Does it replace our ERP?

No. It posts balanced journals into your general ledger and exports to your ERP. Payables and reimbursement run here; the ledger stays yours.

What if the OCR misreads?

Every extracted field is checked — the GSTIN by checksum, the tax by arithmetic, the vendor against the master — and a person reviews the pre-filled form before submit.

Can finance change policy limits without IT?

Yes. Limits, the approval matrix and every tax master are admin-editable with an audit trail. No deploy.

The low-risk way in

Run one month of invoices through it. See the credits you are over-claiming.

We process a sample month of vendor invoices and employee claims and hand back the ITC, RCM, TDS and MSME findings your current process absorbed.

Works with
Beyond the product lines

We build the AI-native finance automation you can't buy.

A regulator's bespoke return, a partner settlement, a reconciliation between two systems only you run. We build it to your requirement on the same engines, audit trail and AI boundary our products run on — in weeks, with golden tests, and handed over as configuration your team owns.

01Deterministic where money movesEvery figure is computed by a tested engine — never by a model.
02AI where documents and questions areExtraction, narrative and Q&A over stored facts, with validation.
03Governance from day oneHash-chained audit, maker-checker and tenant isolation, inherited.
04Yours to changeRules as versioned configuration your controllers edit after go-live.