Background: A 2,400-Person UAE Fintech with a 14-Day Close Cycle
This case study is a composite drawn from patterns Forfis has observed across multiple engagements in fintech and payments. No named customer appears. The details are representative of a real engagement profile: a 2,400-employee payments company headquartered in Dubai, operating across the UAE and Saudi Arabia, processing roughly 18,000 vendor invoices per month through a mix of SAP S/4HANA and a legacy payment gateway. The finance team of 34 FTEs handled invoice intake, three-way matching, and monthly reporting manually. The CFO had a board deadline: reduce the monthly close cycle from 14 business days to under 5, with no increase in headcount and full GDPR compliance on all vendor and employee data. The stack was modern enough to integrate via API but old enough that no off-the-shelf RPA tool could parse the invoice formats without a 6-month customization project.
Challenge: 18,000 Monthly Invoices, 3.1% Error Rate, and a Board Deadline
The finance team’s monthly close was a bottleneck. Invoices arrived via email, PDF, and a vendor portal. Each one required manual data entry into SAP, a three-way match against the purchase order and goods receipt, and a flag for exceptions. The average cycle time from invoice receipt to ledger posting was 6.2 business days, but the monthly reporting package that fed the board deck took the full 14 days because it depended on every invoice being reconciled first. The error rate on manual data entry was 3.1%, and each correction cost roughly EUR 45 in analyst time. With 18,000 invoices per month, that translated to about 558 corrections and EUR 25,000 in rework monthly. The CFO’s constraint was not just speed: the company was preparing for a Series C extension and the board wanted a defensible, auditable process. GDPR applied to all vendor contact data and any employee identifiers in expense reports, and the data could not leave the UAE without a documented transfer mechanism.
Approach: Five-Day Audit, Four-Week Sprint, Claude API on Existing Stack
Forfis ran a five-day process audit first. The team shadowed the finance team for two days, pulled six months of invoice metadata from SAP, and mapped the full lifecycle from email receipt to ledger posting. The audit identified three automatable segments: invoice data extraction, three-way match validation, and exception flagging. The pilot scope was fixed to invoice data extraction and match validation only, with human approval on every output before SAP posting. The tech stack was deliberately narrow: Anthropic Claude API for extraction and classification, a lightweight orchestration layer in Python, and direct API calls into SAP and Google Workspace (Gmail for invoice intake, Drive for document storage). The delivery model was a four-week integration sprint: week one for audit and baseline, weeks two and three for build and shadow testing, week four for cutover and measurement. No new infrastructure was purchased. The Claude API calls were routed through a proxy that logged every prompt and response for the GDPR processing record, and the DPA with Anthropic was verified to cover the use case under Article 28 of the GDPR.
Outcome: 14-Day Close to 4-Day Close, Error Rate Down to 0.4%
The pilot processed 12,400 invoices in its first full month of shadow operation. The AI extracted line items, vendor names, tax codes, and payment terms with 94.2% field-level accuracy on the first pass. The three-way match validation flagged 8.7% of invoices as exceptions, compared to the 11.3% the human team had flagged manually in the prior quarter. The cycle time from invoice receipt to validated match dropped from 6.2 business days to 1.8 days for the automated subset. The monthly reporting package, which previously waited for full reconciliation, could now be generated on day 3 of the close cycle because the AI had already validated 91% of invoices by day 2. The error rate on data entry fell from 3.1% to 0.4% for the automated subset. The human-in-the-loop review queue handled the remaining 9% of invoices, and the finance team’s workload shifted from data entry to exception resolution. The board deck was delivered on day 4 of the close cycle, a 10-day improvement. The pilot met its success criteria, and the client approved rollout to the remaining invoice categories in the following quarter.
Lessons for Teams Running Similar Pilots
- The audit is not optional. Teams that skip the process audit and jump straight to building an automation on their “most obvious” process often discover mid-sprint that the data is too messy or the volume too low to justify the build. The audit’s baseline measurement is what makes the pilot’s success criteria measurable from day one.
- Fix the scope to one workflow. A four-week sprint that tries to automate invoice processing, expense reports, and vendor onboarding simultaneously will deliver none of them well. One workflow, measured end-to-end, is the unit of delivery.
- The model is a component, not the product. The value was in the orchestration layer, the SAP integration, and the human-in-the-loop review queue. Swapping Claude for another model would have changed the extraction accuracy by 1-2 percentage points but would not have changed the cycle time or the error rate meaningfully. The architecture is model-agnostic by design.
- GDPR is a design constraint, not a compliance checkbox. The proxy logging, the DPA verification, and the data residency decision shaped the architecture from the first sprint. Retrofitting compliance after the build is more expensive and slower than building it in.
- The human-in-the-loop queue is the product’s safety net, not a crutch. The 9% of invoices that still required human review were the ones with genuine ambiguity: split POs, multi-currency invoices, and vendor disputes. The AI did not try to handle those. It flagged them and moved on.
Leave a Reply