- Add Facturapi REST service (invoices, customers, orgs, cancel, downloads) - Add JSON payload builder for ingreso/egreso/pago/global invoices - Replace XML queue with Facturapi JSON queue (payload_unsigned, external_id) - Update invoicing blueprint with Facturapi config and download endpoints - Update global invoice service to use Facturapi payloads - Add migration v4.3_facturapi.sql and tenant rollout script - Update invoicing UI: payload preview, PDF/XML downloads, PAC status panel - Add FACTURAPI_USER_KEY to .env.example
35 lines
2.3 KiB
SQL
35 lines
2.3 KiB
SQL
-- v4.3_facturapi.sql
|
|
-- Migrate CFDI timbrado from Horux360 XML pipeline to Facturapi JSON API.
|
|
--
|
|
-- Changes:
|
|
-- - Rename cfdi_queue.xml_unsigned -> payload_unsigned (stores Facturapi JSON payload)
|
|
-- - Keep xml_signed for the signed XML returned by Facturapi
|
|
-- - Add external_id column to store Facturapi invoice id
|
|
-- - Add facturapi config keys to tenant_config
|
|
|
|
-- ═════════════════════════════════════════════════════════════════════════════
|
|
-- 1. CFDI_QUEUE: adapt schema for Facturapi payloads
|
|
-- ═════════════════════════════════════════════════════════════════════════════
|
|
ALTER TABLE cfdi_queue RENAME COLUMN xml_unsigned TO payload_unsigned;
|
|
|
|
COMMENT ON COLUMN cfdi_queue.payload_unsigned IS 'Facturapi JSON payload (previously unsigned XML for Horux)';
|
|
COMMENT ON COLUMN cfdi_queue.xml_signed IS 'Signed+stamped XML returned by Facturapi';
|
|
|
|
ALTER TABLE cfdi_queue ADD COLUMN IF NOT EXISTS external_id VARCHAR(64);
|
|
COMMENT ON COLUMN cfdi_queue.external_id IS 'Facturapi invoice id';
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_cfdi_queue_external_id ON cfdi_queue(external_id);
|
|
|
|
-- ═════════════════════════════════════════════════════════════════════════════
|
|
-- 2. TENANT_CONFIG: Facturapi configuration keys
|
|
-- ═════════════════════════════════════════════════════════════════════════════
|
|
INSERT INTO tenant_config (key, value)
|
|
VALUES
|
|
('cfdi_facturapi_key', ''),
|
|
('cfdi_facturapi_org_id', ''),
|
|
('cfdi_facturapi_customer_sync', 'true')
|
|
ON CONFLICT (key) DO NOTHING;
|
|
|
|
-- Backward-compat: migrate old Horux keys to comments so they are not used anymore
|
|
COMMENT ON TABLE tenant_config IS 'tenant_config; old keys cfdi_horux_api_url and cfdi_horux_api_key are deprecated';
|