fix(pos): resolve integration test failures for CFDI + accounting

- Fix sat_accounts.sql: split multi-row INSERT into individual statements
  so parent_id subqueries resolve correctly (was producing all NULLs)
- Add tenant_config table to v1.0 schema (required by CFDI invoicing)
- Seed tenant_config with RFC/regimen during tenant provisioning
- Fix cancel_sale to pass complete sale data for accounting reversal
- Fix CFDI XML builder: use `or` instead of dict.get() defaults to
  handle explicit None values from DB (clave_prod_serv, clave_unidad)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-31 04:54:50 +00:00
parent c56709d45e
commit bc950efc26
6 changed files with 88 additions and 43 deletions

View File

@@ -375,5 +375,14 @@ CREATE TABLE IF NOT EXISTS physical_count_lines (
difference INTEGER NOT NULL
);
-- =====================
-- TENANT CONFIGURATION (key-value store for CFDI, Horux, etc.)
-- =====================
CREATE TABLE IF NOT EXISTS tenant_config (
key VARCHAR(100) PRIMARY KEY,
value TEXT,
updated_at TIMESTAMPTZ DEFAULT NOW()
);
-- Barcode sequence
CREATE SEQUENCE IF NOT EXISTS barcode_seq START 1;