check what must agree

Rules per process

The rules are data: rules.csv in the data folder. Change a value, restart, and the same data gets a different verdict. A check is on (1) or off (0).

Invoices against order and receipt

RuleValueMeaning
invoices.price_pct2unit price may be this many percent away from the order
invoices.qty_over0units invoiced above what was received that still count as agreeing
invoices.check.IBAN1bank account against the supplier register
invoices.check.DUPLICATE1the same supplier invoice number came in before
invoices.check.QUANTITY1more invoiced than received
invoices.check.PRICE1unit price against the order

Always on: an order on the invoice, and something received on that order. Sources: suppliers, orders, receipts, invoices. Key fields: supplier, order, supplier invoice number.

Bank against open invoices

RuleValueMeaning
bank.amount_cents5difference in cents between payment and invoice that still counts as agreeing
bank.check.PAYER1the paying account is the customer's account
bank.check.DUPLICATE1an earlier payment already named the invoice
bank.check.PARTIAL1less than the invoice
bank.check.OVERPAID1more than the invoice

Always on: an invoice named in the description, and only one. Sources: bank lines, open invoices. Key field: the invoice number in the description.

Invented data, every IBAN has the bank code DEMO. MatchClerk prepares and flags; it never pays, books or pays back anything. A person decides.