Expense management with provable approvals.

Spendwise reads the invoice, checks it against your policy, sends it to the right approver and keeps a record nobody can edit.

Spendwise

CP Comboios de Portugal

Aveiro to Lisboa Oriente

2026-08-03 15:00

Alfa Pendular 130, 2nd class
22,17
VAT 6%
1,33

Total23,50 €

Audit trail for this request

  1. 15:02:10EmployeeSubmitted the invoice
  2. 15:02:15SystemRead amount, VAT and tax ID in 4.8 s
  3. 15:02:15SystemChecked: not a duplicate
  4. 15:02:16SystemFits the travel policy on a working day
  5. 16:41:03ManagerApproved, waiting for payment

Expense reimbursement from photo to payment, in five steps

No invoices paid twice, no approvals lost in chat threads and no spreadsheets to reconcile. An employee takes a photo of the invoice on their phone, with no app to install. Employee expenses, purchases and benefits such as IVA Flex (flexible employee benefits) follow the same path, and Spendwise records every step.

  1. Read the invoice

    With automatic invoice reading, Spendwise takes the amount, VAT, supplier and tax ID from the photo and fills in the reimbursement request for the employee.

    About 5 seconds. 95% need no correction.

  2. Refuse duplicates

    The same invoice cannot be submitted twice. Spendwise recognises it by amount, date and supplier, and tells the employee why it was refused.

    A duplicate never reaches an approver.

  3. Check it against your policy

    Spendwise reads every line and the time of purchase, not just the total, and explains every rejection.

    When in doubt, a person decides. No request gets stuck.

  4. Route it to the right approver

    Only the people who can approve a request are notified, using the groups already in your Azure AD, Okta or Google Workspace.

    No email threads chasing approvals.

  5. Hand it to your ERP

    Approved requests flow into SAP or your accounting platform. Payment stays in the system you already trust.

    One financial pipeline, not two.

Automatic policy checks: it says no, and tells you why

Most invoice tools stop at reading the document. Spendwise also asks whether the expense should have been submitted at all. Two kinds of rejection we see at Lynxmind, shown with sample invoices:

Restaurant, Lisbon

Sunday 23:41

Dinner for 2
48,00
Wine
22,00

Total70,00 €

Rejected

The receipt is valid, but Sunday at 23:41 is outside any working context in your policy.

Office supplier, Lda

Tuesday 11:15

Printer toner
64,90
A4 paper, 5 reams
21,50
Wireless earbuds
129,00

Total215,40 €

Rejected

A legitimate supplier, but line 3 is a personal purchase. Resubmit without it.

None of these rules are hard-coded. Adapting them to your policy and sector is the first thing we do in a new deployment.

Expense approval with a full audit trail

In Spendwise, approvers of employee expenses are notified only when a request needs them. They see the invoice, the amount and a written note of everything Spendwise already checked, before they decide.

Every change is recorded: who made it, when and through which channel, including automated decisions and the reasoning behind them. Records are appended, never edited, so the history of any request can be rebuilt end to end.

Audit trail

  1. UpdatedFinancevia Request details3 hours ago

    Status:
    Waiting PaymentCompleted
  2. UpdatedManagervia Request details3 hours ago

    Status:
    Waiting ApprovalWaiting Payment
    VAT:
    46,75 €47,00 €

Your invoices stay inside your company

Expense automation usually means sending financial documents to a third-party AI provider. Spendwise reads and stores everything inside your company's perimeter.

Your company's perimeter

  • Application

    Requests, approvals and the audit trail

  • Storage

    Invoice images and records

    • Self-hosted Supabase
    • Amazon S3
    • Any other backend
  • AI model

    Reads the invoice and extracts the data

    • Local model
    • Private endpoint

Public AI APIOutside the perimeter. Only used if you choose it.

At Lynxmind, Spendwise runs only on local models. Switching storage or model is a configuration change, and the choice is yours.

One year in production at Lynxmind

At Lynxmind, Spendwise is the expense management software for the whole team: around 40 people, every expense reimbursement request, for twelve months.

Spendwise at Lynxmind

12 months

People using it
~40
Requests per week
~10
Read without correction
95%
Time per invoice
~5 s
Emails chasing approvals
0

Duplicate payments0

Frequently asked questions about Spendwise

Do employees need to install an app?

No. Spendwise runs in the phone's browser, so an employee takes a photo of the invoice and submits the expense reimbursement request without installing anything.

What happens when Spendwise is not sure about an invoice?

Automatic invoice reading has confidence thresholds. When confidence is low or a check fails, the request goes to the employee or the technical team with the problem shown. No invoice is dropped and no request is left in an undefined state.

Can the rules follow our expense policy?

Yes. Rules are configuration, not code. Adapting them to your expense management policy, benefits and approval hierarchy is the first thing we do in a new deployment.

Where are the invoices stored?

At Lynxmind, invoices are stored in a self-hosted Supabase. Storage is written against an interface rather than a vendor, so Amazon S3 or another backend is a configuration change, not a rewrite. Spendwise can run on your servers, be hosted by us, or something in between.

Are our invoices sent to a third-party AI provider?

Not unless you choose to. At Lynxmind, Spendwise reads every invoice with local models, so no financial document leaves the company. The model layer is pluggable: local models, a private endpoint or a public API, chosen by you rather than imposed by the product. That keeps AI-assisted expense management compatible with your data policy.

How does it connect to SAP or our accounting software?

Approved requests flow into SAP, so payment runs in the system you already use. The same integration pattern applies to other ERPs and accounting platforms.

How do people sign in, and who can approve?

Single sign-on with Azure AD, Okta or Google Workspace. Spendwise uses the groups already in your directory, so permissions and approvers are mapped once instead of being rebuilt by hand.

Does Spendwise make us SOC 2 or ISO 27001 compliant?

Not on its own. SOC 2 and ISO 27001 cover controls, policies and evidence across the whole organisation. Spendwise produces the approval and access evidence those audits ask for, without a manual evidence hunt every cycle.

How we built Spendwise

The state machine that makes every approval provable, the AI filter and why it runs on local models.

Read the article

Let's automate your expense management together

Spendwise already runs Lynxmind's expenses. We want to work with companies that have real approval complexity, adapt it to their expense policy and run it in production together.

Partnership request

From Lynxmind to your company

Setup and customisation
0,00 €
Expense policy
Yours
Access to the team
Direct
Hosting
Your servers or ours
Status
Waiting for your approval
Talk with a specialist