Case studies/Aptus AI
CASE 05Invoice and autofattura automation
180+→90%+

Aptus AI’s accountant keyed in 180+ supplier invoices a month by hand. Now nine in ten reach Fatture in Cloud untouched.

Aptus AI is an AI company in Pisa with 623 suppliers on its books, many outside the EU, and Italian rules require every non-EU invoice to be rebuilt as an autofattura. The pipeline Ovidius built collects each invoice wherever it arrives, picks the tax path and registers it, leaving the accountant one review before SDI. It has run since November 2025.

One invoice, step by stepLive
Client
Aptus AI S.r.l.AI company, Pisa, Italy
Problem
180+ invoices a month, keyed by handEvery non-EU one rebuilt as an autofattura
Built with
n8n, on Aptus’s own instanceFatture in Cloud, Banca d’Italia rates, Airtop, OpenAI
Live
Since November 2025Discovery call mid-2025
Sponsor
Andrea TeseiCo-Founder and CEO, with Sina Farhang Doust and Tommaso Pagotto
90%+
Invoices untouched

Read, routed and registered in Fatture in Cloud with nobody keying them in.

180+
Invoices a month

Aptus’s own count for the month before the project. Typical volume ran 100 to 200.

25h
Accountant time a quarter

Spent collecting, converting and keying, before. Now spent on review and sending.

5min
Inbox check

Gmail is read every 5 minutes, and a browser agent visits 3 vendor portals each month.

01
The challenge

180+ invoices a month arrived three ways, and every non-EU one was rebuilt by hand.

In the month before the project, Aptus’s accountant uploaded more than 180 invoices manually, against a typical 100 to 200. Aptus buys software and services from vendors in Europe, North America, Asia and Australia, and each non-EU invoice had to be rebuilt as an Italian autofattura before it could reach the tax system.

Scattered intake

Three doors, one inbox read by hand

Attachments, invoices written into the email body, and vendor portals that send no notification at all.

Autofattura rework

Every non-EU invoice built twice

Look up the Banca d’Italia rate, convert every amount to EUR, then create a new TD17 document.

One-person bottleneck

Volume and workload moved together

A single accountant keyed every invoice into Fatture in Cloud, so each new supplier added hours.

02
The solution

A digital mailroom: every invoice comes in one door and leaves on the right tax path.

Whichever way an invoice arrives, one AI reader extracts it, matches the supplier and sends it down the EU or non-EU path. A person is pulled in on Slack only when data is missing.

Collect
GmailThe purchasing inbox, checked every 5 minutes. Attachments are saved and email-body invoices are printed to PDF.
Vendor portalsA monthly Airtop browser agent logs into 3 portals that never send an invoice by email.
Drive drop folderAnything else, dropped in by hand, enters the same pipeline.

n8n On Aptus’s own instance

ReadOpenAI extraction of supplier, address, VAT number, date and amount from every invoice.
RouteAn EU or non-EU decision from the supplier address, and a supplier match in Fatture in Cloud.
ConvertNon-EU amounts converted at the official Banca d’Italia rate, then rebuilt as a TD17 autofattura.
3ways in
2tax paths
1human check
Register
Fatture in CloudRegistered through the API, with the original PDF attached to every autofattura.
Drive, Sheets, GmailFiled in a year and month folder, logged in a Sheets index, labelled in Gmail.
SlackMissing VAT or bank details trigger a request. The answer flows back into the index and the invoice resumes.
The pipeline does the keyingCollecting, reading, classifying, converting and filing run without anyone opening the invoice.
The accountant keeps the last wordEvery autofattura waits for a review before it is sent to SDI, the Italian tax exchange.
Stackn8nGmailGoogle DriveGoogle SheetsFatture in Cloud APIBanca d’Italia daily ratesAirtopOpenAISlack
03
Deep dive

The official exchange rate isn’t published until the day closes, so the system waits.

Early test runs converted Pinecone’s USD invoices at the latest available rate and drifted from the accountant’s figures. Banca d’Italia publishes each day’s rate after close, so autofatture now wait a day, and weekends and holidays roll to the next business day.

Pick the invoice date

See which day’s rate the request asks for, and when the autofattura is created.

The live query, from the delivered n8n workflow
GET tassidicambio.bancaditalia.it/terzevalute-wf-web/rest/v1.0/dailyRates
{
  "referenceDate": "{{ invoice.date + offset_days }}",
  "baseCurrencyIsoCode": "USD",
  "currencyIsoCode": "EUR"
}
Trimmed to the three parameters that matter. The reference date moves past weekends and holidays, so every conversion uses a rate Banca d’Italia has actually published.

Request lightly trimmed from the delivered workflow. The week picker shows the weekend rule; Italian public holidays roll forward the same way.

04
The obstacle

The bugs weren’t in the code: most supplier records were incomplete.

Bulk runs of 170+ real invoices kept producing supplier mismatches. An audit of Aptus’s supplier list found most records missing key fields, so a correct extraction could still match the wrong supplier, or none. Aptus is now cleaning that source data so every supplier matches first time.

170+

Real invoices run in bulk before go-live. The extraction read them correctly; the mismatches traced back to the supplier list it was matching against.

→ The fix is in the source: Aptus is cleaning the supplier records.
05
The results

90%+ of invoices now file themselves, and the accountant only reviews and sends.

90%+
Processed untouched

From manual upload of every invoice to automated collection, conversion and registration.

180+ / mo
Invoices handled

Collected, converted and registered, across email, Drive and three vendor portals.

25 h / qtr
Accountant time

Spent keying and rebuilding invoices before. Now spent on review and sending only.

Mid-2025

Discovery call

Aptus counts more than 180 invoices in the previous month.

Testing

Bulk runs

170+ real invoices expose the rate timing and the supplier gaps.

Nov 2025

Live

Every invoice now enters through the mailroom.

At close

Handover

Documentation and a recorded walkthrough, on Aptus’s own n8n.

Untouched rate and accountant hours are as reported since go-live in November 2025, not instrumented. Baseline volume is Aptus’s own monthly count from the discovery call: more than 180 invoices in the month before the project, typically 100 to 200. The 80% attachment share is Aptus’s estimate from the same call.

06
Handover

Aptus owns the pipeline: it runs on Aptus’s own n8n, with the manual to match.

Nothing sits on an Ovidius server. Aptus received the workflows, the documentation and a recorded walkthrough at close.

Infrastructure

Aptus’s own n8n instance

Every workflow, credential and log stays inside Aptus’s account.

Documentation

Full technical documentation

Each workflow, the routing rules and the Banca d’Italia query, written down.

Training

A recorded walkthrough

The team can replay how the mailroom works whenever someone new takes it over.

How many supplier invoices does your accountant key in each month?

Bring the count and your accounting system. In a discovery call we map where your invoices arrive, which tax paths they take, and which steps a pipeline can run. See how it works on AI invoice automation.

Owen, CEO of Ovidius AI
OwenCEO · sales and scoping
Jason, COO of Ovidius AI
JasonCOO · audit, ship and run
Book a Discovery Call30 minutes with Owen and Jason. You bring the process.