Agentic back-office · Saudi Arabia

Software that does the books, not software you use to do the books.

Nibrail takes your e-invoices and your bank statement, reconciles them against your chart of accounts, posts the clean matches to a draft ledger, and clears your invoices with ZATCA. Only the genuinely ambiguous cases reach a human.

Built for Saudi SMEs. ZATCA Phase-2 clearance and reporting included.

Draft ledger · today 4 of 5 posted automatically
Bank narration Amount Matched invoice Confidence Status
TRF INV-2025-00418 ALMASA 18,400.00 AMF-2025-00418
1.00
Auto-posted
SADAD PMT RIYADH GATE REST 9,212.50 AMF-2025-00402
0.97
Auto-posted
تحويل من مؤسسة التمر التجارية 6,780.00 AMF-2025-00396
0.96
Auto-posted
BULK TRF 3 INVOICES GOLDEN HOSP 27,905.00 3 invoices
0.88
Posted · flagged
TRF PART PAYMENT — NO REFERENCE 4,100.00 2 candidates
0.61
Needs review
87%
Matched with no human
3
Matching passes
<24h
ZATCA reporting window
0
IBANs sent to an LLM
How the matching works

Three passes, cheapest first. The expensive one rarely runs.

Most reconciliation tools give you a fuzzy-match score and a spreadsheet. Nibrail escalates: each pass only sees what the one before it could not settle, so certain cases never cost you an LLM call — and ambiguous ones get real reasoning instead of a bad guess.

PASS 1 · DETERMINISTIC

Exact, provable matches

An invoice reference in the narration, the amount within bank-fee tolerance, a plausible date window. One unique hit posts at full confidence.

  • Reference extracted by pattern
  • Amount tolerance for bank fees
  • Ambiguous duplicates never auto-post
PASS 2 · PROBABILISTIC

Optimal assignment, not greedy guessing

Remaining invoices and transactions become a weighted graph scored on amount, date and counterparty name, then solved as a global one-to-one assignment.

  • Arabic and English legal suffixes normalised
  • One transfer settling several invoices
  • Several payments settling one invoice
PASS 3 · REASONING

Judgement on what is left

Only the genuinely unclear cases reach the model, with a structured shortlist. It proposes a match and a rationale — and it is never allowed to post one itself.

  • Structured output, not free text
  • Rationale shown to the reviewer
  • Always routed to a human
The exception queue

Your accountant works the exceptions, not the whole month.

Confidence decides what happens next. High-confidence matches post to the draft ledger on their own. Middling ones post but get flagged for a spot-audit. Anything genuinely unclear posts nothing and waits for a person — with the candidates, the score and the reasoning already assembled.

Every correction teaches the system. Recategorise a vendor once and the rule is written back, so the same payment is categorised correctly next month without being asked.
  • Auto-posted — confident enough to book without asking.
  • Posted & flagged — booked, but sampled for a spot-audit.
  • Needs review — nothing posted; candidates, gauge and rationale ready.
  • Manual match — search, select several invoices, see the running total against the transaction.
  • Full audit trail — every agent and human action recorded with its reason.
ZATCA Fatoora · Phase 2

E-invoices cleared with the tax authority, from the same ledger.

Nibrail is an E-invoice Generation Solution. It creates the stamping key, onboards with Fatoora, signs each invoice, and submits it for clearance or reporting — then reconciles the cleared invoice against the money that arrives for it.

01

Onboard

A secp256k1 stamping key and a certificate request are generated for your VAT registration; your OTP from the Fatoora portal exchanges them for a certificate. The private key is encrypted at rest and never leaves the server.

02

Pass compliance

ZATCA's required sample documents — standard and simplified invoices, credit notes and debit notes — are generated, signed and validated before a production certificate is issued.

03

Clear and report

B2B invoices go through clearance and come back signed by ZATCA. B2C invoices are reported within the 24-hour window. Each carries the phase-2 QR code and the hash of the invoice before it.

04

Reconcile

The cleared invoice flows straight into the matching engine, so filing and bookkeeping stop being two separate jobs.

Security

Your bank details are not training data.

IBANs, account numbers and national-ID-shaped strings are tokenised the moment a statement is ingested — before anything is stored. They are never included in a prompt.

One choke point for anything sent to a model

Every payload that reaches an LLM is built by a single redaction function with a strict field whitelist: description, amount, date and counterparty name. Nothing else can reach it, because nothing else constructs a payload.

Tenant isolation at the query layer

The tenant is resolved from your session on the server. A tenant identifier sent by a browser is never trusted, so one client's data cannot be addressed from another client's session.

See it run on your own month-end.

Send us one month of invoices and a bank statement. We will show you what reconciles on its own, what gets flagged, and what genuinely needs you.