Supervised AP Agent for a Dubai Distributor
Designed and built a clickable back-office agent for a Dubai mainland distributor: it reads the AP and vendor mailboxes, matches invoices to POs and goods receipts, checks UAE tax invoice fields, drafts replies and posts to the ERP, while people approve by amount, see every tool call and handle every bank detail change themselves.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Dashboard, task inbox, task detail with the run timeline, approvals and vendor change detail. Every one of the 28 demo tasks opens its own source email and run timeline.
A clean three-way match up to AED 25,000 posts on its own. Above that it waits for an AP clerk up to AED 100,000, an AP lead up to AED 500,000 and the finance controller beyond, and any variance within tolerance needs a clerk.
The agent can prepare a bank change but has no tool to apply it. A person calls back on a number already on file, a second approver from a different team signs off, and the first payment to the new account is held.
17 invoices and credit notes, 15 vendors across the UAE, India, China and Turkey, 13 approvals, 5 vendor changes, 7 playbooks and 11 staff users.
Ghafline's three AP clerks spent most of the day in two shared inboxes for about 1,100 vendors and around 4,500 invoices a month. About a third of invoices failed the first match, each exception meant emails to the vendor and the buyer and a spreadsheet note, payment status questions were answered by hand from Business Central, and tax invoices without a supplier TRN surfaced at quarter end. In 2025 a spoofed bank change email was keyed in, and a payment of AED 186,400.00 was stopped only because treasury noticed the new bank was abroad.
Sanbuk works out what each vendor email is asking for, matches invoices to POs and goods receipts, checks the tax invoice, chases missing information, prepares vendor changes, drafts replies and posts to the ERP through tool calls. An operator console shows the task inbox, a run timeline with every tool call and a reasoning summary, approval gates by action and amount, and cost per task.
The CFO wanted the inbox work automated, but not by an agent nobody could see inside. Every money-moving or external action had to be attributable, gated by amount and possible to stop at any time.
Short deliveries, price changes missing from the PO and invoices without a PO number broke the three-way match on about a third of invoices. Ghafline's own tolerance is 2% or AED 500 per line, whichever is lower, with no tolerance on quantity.
Input VAT can generally be recovered only with a valid tax invoice: supplier and recipient TRNs, the words Tax Invoice, VAT per line and total VAT in AED even on foreign currency invoices. Overseas services fall under the reverse charge, which the agent flags rather than decides.
Business email compromise is the main fraud risk in AP. A look-alike domain, an urgent tone and a new bank abroad had already slipped through once, so no setting or email could be allowed to change bank details.
Vendor emails and attachments go straight to a language model. Following the OWASP Top 10 for LLM Applications, text such as "ignore previous checks" must never change the agent's permissions, gates or playbook.
Mapped 10 roles from AP clerk to internal auditor, 32 screens including 2 vendor pages reached by secure link, and the data model for email threads, invoices, match results, tasks, agent runs, run steps, tool permissions, versioned approval rules and playbooks, vendor changes and the audit log. Wrote down the rules the design follows: UAE VAT and tax invoice contents, the phased Peppol e-invoicing rollout, VAT and Corporate Tax record periods, the PDPL, sanctions screening, the UAE AI Charter and ISO/IEC 42001.
Built 5 key screens on a production dashboard kit: the dashboard with touchless rate, cost per task, waiting on people and a safety panel, the task inbox with SLA ages and filters, task detail with the source email, run timeline, three-way match grid, 11 tax invoice checks and draft reply, approvals with approve, edit, reject and delegate, and the bank change detail with risk checks, call-back form and two approvers. All actions run on local state.
Microsoft 365 mailboxes through Microsoft Graph, Business Central for POs, receipts, vendors and posting, a language model in a region Ghafline has approved, document extraction, TRN lookups on EmaraTax, sanctions screening, Teams call recording for call-backs, run tracing and Entra ID sign-in. Plus the remaining screens for playbooks, tool permissions, agent control, cost and audit, and structured e-invoices from an accredited service provider once Ghafline's vendors go live.
Each run lists its tool calls with arguments, responses and permission result, the reasoning summary behind each decision, guardrail events, approval waits, and the cost per step against the run budget. A reviewer sees what the agent did and why before approving.
Each approval card states the rule that triggered it, the agent's reason and confidence, and exactly what will happen: the match grid and ERP entry, the draft email or the before and after of a vendor change. Delegation only goes to approvers with a high enough limit.
The change page checks the sender domain and DMARC, the bank country, the account name, sanctions and whether the same IBAN appears on another vendor. The call-back form offers only numbers already on file, and the second approver must be a different person from a different team.
Suspicious instructions in an email are highlighted in the source and logged as a guardrail event, and the run continues under the same permissions and playbook. The agent status pill is always visible, so anyone can see whether the agent is live, in shadow, paused or stopped.

Designed and built a clickable document processing platform for a Rotterdam freight forwarder and customs representative: it classifies commercial invoices, packing lists, bills of lading, air waybills and certificates of origin, extracts each field with a confidence score, checks it against business rules and sends only the uncertain fields to a person in a side-by-side review workspace.

Designed and built a clickable internal knowledge assistant for a Kraków consulting engineering firm: staff ask in Polish or English and get answers built only from the firm's own SharePoint, Confluence, Google Drive and file share documents, with every claim linked to its source passage and an honest "I don't know" when the sources are weak.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab