Open orders and real customers, checked every month
An electronics maker could not easily see which purchase orders were still open, or whether every customer in its master was a real company. A monthly Python run on its SAP data now answers both.
From our own project and product work. Client names and identifying details are removed, and some figures are rounded.
The situation
The same electronics maker kept coming back to two questions. Which purchase requisitions and orders are still open, for how long, and do the goods receipts and invoices match the order? And are the customers in the master real companies?
In SAP, the status of a requisition or an order is spread across several tables: requisitions (EBAN), order headers (EKKO), order items (EKPO) and order history (EKBE). Answering by hand took a lot of manual work, and a fake or mistyped customer record is a fraud and compliance risk that nobody can check one by one.
Open requisitions and orders
Every month, in Python:
- Start from last month's output and keep only the items that are still open.
- Add the month's new requisitions and orders.
- Join requisitions to orders, and orders to their goods receipts and invoices.
- Put each open item in an age bucket and flag the mismatches: invoice against order, goods receipt against invoice, and goods receipt against order.
Customer verification
- Take each customer's company registration number from the master, or its tax registration number where that is missing.
- Look up the registered name in the public company records.
- Compare the two names with a similarity score, so small differences in spelling and punctuation still match.
- Flag every customer below the agreed threshold for review.
| Output | What it shows |
|---|---|
| Open requisitions | Age bucket, and whether an order exists |
| Open orders | Age, and goods received and invoiced against what was ordered |
| Customer check | Similarity score, and a matched or review flag |
What happened
Dashboards refresh each month from the outputs. The team sees the open items by age and the mismatches to chase, and reviews only the customers whose names do not match the public record, instead of checking the whole master.
What changed
- Each month builds on the last. Closed items drop out, new ones come in, nothing is rebuilt from scratch.
- From exact match to similarity. A score finds the mismatches that an exact-match rule would miss or wrongly flag.
- From a list to a decision. Every customer carries a score and a flag, with the public record beside it.
Products and services
CompliBear TPRM checks counterparties against public records and monitors them. See third-party risk and data and AI engineering.

