Integrations
ininvoice and SAP: matching supplier invoices before they reach SAP
ininvoice does not have a native SAP connector today: it works before SAP, reading supplier invoices, purchase orders and delivery notes as documents, matching them line by line per legal entity, and handing the approved invoices to SAP as a CSV or Excel file that is imported. This page describes that flow as it works today, without connectors that do not exist.
What exists today and what does not
| Piece | Today |
|---|---|
| Native connector with SAP S/4HANA or SAP Business One | Does not exist |
| Writing invoices directly into SAP | No |
| Reading invoices, purchase orders and delivery notes as PDF, image, scan or spreadsheet | Yes |
| Assigning each invoice to the group entity by the recipient's tax ID | Yes |
| Line-by-line matching against purchase order and delivery note | Yes |
| Export of approved invoices as CSV (one row per line) or Excel (columns to choose) | Yes |
| Reading XML e-invoices (Facturae, UBL) | In development |
The flow, step by step
- Documents come in. Invoices arrive in the invoice mailbox connected to ininvoice (read-only) or are uploaded by hand. Purchase orders issued from SAP and delivery notes arriving with the goods come in the same way, as PDF, image or spreadsheet.
- ininvoice reads and assigns. It reads every document line by line without templates and assigns the invoice to the entity whose tax ID appears as recipient. A purchase order of one entity is never matched with another entity's invoice.
- ininvoice matches. It matches every line against the purchase order and the delivery note and applies the organisation's tolerance (by default a line is held if its difference exceeds EUR 1.50 or 2%). It also holds possible duplicates.
- A person decides what does not match. Held invoices are approved, rejected or sent back with a question from the ininvoice dashboard.
- Approved invoices are exported. As CSV or Excel, with the entity's tax ID and name on every row to split them by SAP company.
- SAP posts and pays. The team imports the file into SAP with its usual import tool; posting and payment stay in SAP.
Want to see it with your own invoices? Request a demo with your own invoices
What goes to SAP (synthetic example)
Invoice, entity and supplier are made up. Real columns of the ininvoice CSV file; only some are shown.
| invoice_number | entity_tax_id | line_description | line_quantity | line_unit_price | line_subtotal | po_number | receipt_quantity | variance_amount |
|---|---|---|---|---|---|---|---|---|
| 2026-0418 | B00000000 | Box B1 350×250 | 500 | 0.62 | 310.00 | 4500012345 | 500 | 0.00 |
| 2026-0418 | B00000000 | Stretch film 17 µ | 12 | 6.80 | 81.60 | 4500012345 | 12 | 0.00 |
The full file has 27 columns per line: identifiers, invoice number, date and currency; tax ID and name of the entity and the supplier; description, quantity, price, amount, VAT and status of the line; purchase order number, line, description, quantity and price; delivery note number, date and quantity; matched quantity, difference and invoice status. With those columns, the mapping to SAP fields is defined once and reused for every import.
Why it matters for groups with several SAP companies
In a group, the expensive error is not misreading an invoice but posting it to the wrong entity: it gets matched with another entity's purchase order, approved by someone without authority and its VAT is declared in the wrong place. ininvoice resolves the entity before matching anything, by the recipient's tax ID, and carries that tax ID onto every exported row. The multi-entity guide explains the decision order when the invoice has no tax ID.
When you do not need ininvoice with SAP
If your SAP implementation already receives supplier invoices as structured data, every receipt is recorded in SAP as it happens and line-by-line matching with tolerances already works inside SAP, ininvoice would add little: the work is done. ininvoice makes sense when invoices still arrive as PDF in a mailbox, delivery notes are recorded late or on paper, or the system matches on totals and leaves the detail to people.
Frequently asked questions
Does ininvoice have a native SAP connector?
No. ininvoice does not have a native connector with SAP S/4HANA or SAP Business One today. It works before SAP: it reads and matches invoices and hands the approved ones over as a CSV or Excel file that is imported into SAP.
How do SAP purchase orders and delivery notes reach ininvoice?
As documents: ininvoice reads purchase orders and delivery notes as PDF, image or spreadsheet, by email or manual upload, just like invoices. If your SAP publishes purchase orders some other way, raise it in the demo.
Does it work for a group with several legal entities in SAP?
Yes. ininvoice assigns each invoice to the legal entity by the recipient's tax ID and only matches it with purchase orders and delivery notes of that same entity; the exported file carries the entity's tax ID and name on every line.
What exactly is exported?
Approved invoices, one row per line: invoice number and date, currency, tax ID and name of the entity and the supplier, description, quantity, price, line amount and VAT, the purchase order and delivery note it was matched with, the matched quantity and the difference.
When does ininvoice make no sense with SAP?
When the SAP implementation already receives structured invoices, records every receipt and matches invoice, purchase order and delivery note line by line with its own tools. In that case ininvoice adds little.
Want to see it with your own invoices? Request a demo with your own invoices