Files
tradon/modules/purchase_trade/docs/business/sql
2026-05-13 18:39:54 +02:00
..
2026-05-13 18:39:54 +02:00

SQL diagnostics for purchase_trade business rules

These scripts are read-only diagnostics for a PostgreSQL test database.

quantity_consistency_checks.sql

Checks the two core lot quantity invariants documented in lots-and-quantities.md and lots-and-quantities.en.md.

Run it on a restored test database:

\i modules/purchase_trade/docs/business/sql/quantity_consistency_checks.sql

The script returns rows only when it finds a potential issue.

Main columns:

  • check_name: invariant or diagnostic that failed.
  • line_id: purchase.line or sale.line id depending on the check.
  • virtual_lot_id: virtual lot involved in the inconsistency.
  • observed_value: value found in the database.
  • expected_value: value required by the business rule.
  • diff: observed minus expected.
  • detail: human-readable explanation.

Cross-category UoM rows are reported as manual-review diagnostics because the Python code may pass explicit conversion factors that cannot be inferred safely from SQL alone.