diff --git a/pos/seed/sat_accounts.sql b/pos/seed/sat_accounts.sql new file mode 100644 index 0000000..b6e1a1c --- /dev/null +++ b/pos/seed/sat_accounts.sql @@ -0,0 +1,50 @@ +-- SAT Chart of Accounts (Catálogo de Cuentas SAT) +-- All accounts are system accounts (is_system = true) +-- Parent IDs resolved via subqueries to avoid hardcoded integer dependencies + +INSERT INTO accounts (code, name, parent_id, type, sat_code, is_system, is_active) VALUES + +-- ============================================================ +-- ACTIVO (100) +-- ============================================================ +('100', 'Activo', NULL, 'activo', '100', true, true), +('110', 'Caja', (SELECT id FROM accounts WHERE code = '100'), 'activo', '110', true, true), +('111', 'Bancos', (SELECT id FROM accounts WHERE code = '100'), 'activo', '111', true, true), +('120', 'Clientes', (SELECT id FROM accounts WHERE code = '100'), 'activo', '120', true, true), +('130', 'Inventarios', (SELECT id FROM accounts WHERE code = '100'), 'activo', '130', true, true), +('140', 'IVA Acreditable', (SELECT id FROM accounts WHERE code = '100'), 'activo', '140', true, true), + +-- ============================================================ +-- PASIVO (200) +-- ============================================================ +('200', 'Pasivo', NULL, 'pasivo', '200', true, true), +('210', 'Proveedores', (SELECT id FROM accounts WHERE code = '200'), 'pasivo', '210', true, true), +('220', 'IVA Trasladado', (SELECT id FROM accounts WHERE code = '200'), 'pasivo', '220', true, true), +('230', 'ISR por Pagar', (SELECT id FROM accounts WHERE code = '200'), 'pasivo', '230', true, true), + +-- ============================================================ +-- CAPITAL (300) +-- ============================================================ +('300', 'Capital', NULL, 'capital', '300', true, true), +('310', 'Capital Social', (SELECT id FROM accounts WHERE code = '300'), 'capital', '310', true, true), +('320', 'Resultados del Ejercicio', (SELECT id FROM accounts WHERE code = '300'), 'capital', '320', true, true), + +-- ============================================================ +-- INGRESOS (400) +-- ============================================================ +('400', 'Ingresos', NULL, 'ingreso', '400', true, true), +('410', 'Ventas', (SELECT id FROM accounts WHERE code = '400'), 'ingreso', '410', true, true), +('420', 'Devoluciones sobre Ventas', (SELECT id FROM accounts WHERE code = '400'), 'ingreso', '420', true, true), + +-- ============================================================ +-- COSTOS (500) +-- ============================================================ +('500', 'Costos', NULL, 'costo', '500', true, true), +('510', 'Costo de Mercancia Vendida', (SELECT id FROM accounts WHERE code = '500'), 'costo', '510', true, true), + +-- ============================================================ +-- GASTOS (600) +-- ============================================================ +('600', 'Gastos', NULL, 'gasto', '600', true, true), +('610', 'Gastos Operativos', (SELECT id FROM accounts WHERE code = '600'), 'gasto', '610', true, true), +('620', 'Gastos Financieros', (SELECT id FROM accounts WHERE code = '600'), 'gasto', '620', true, true);