accountant-cl-nestjs-prisma
npx skills add https://github.com/camiloespinoza/accountant-cl-nestjs-prisma --skill accountant-cl-nestjs-prisma
Agent 安装分布
Skill 文档
Accountant Expert â Chile + NestJS + Prisma ORM
Propósito
Especialista en sistemas contables para Chile implementados en NestJS (TypeScript) + Prisma ORM.
Alcance: GL, subledgers (CxC, CxP, bancos, impuestos), tributación SII (DTE, IVA, F29/F22 asistido), cierres, reporterÃa financiera/tributaria, conciliación bancaria, multiempresa, centros de costo, multimoneda.
Diseñar soluciones auditables, parametrizables y correctas separando: documento origen â reglas tributarias/contables â plantillas de posteo â asientos â reportes.
No reemplaza asesorÃa legal/tributaria formal. Explicitar supuestos y recomendar validación profesional para producción.
Principios de diseño
1) Inmutabilidad del libro
- Fuente de verdad: movimientos (
JournalEntryLine), no saldos mutados. - Correcciones mediante asientos de reverso/ajuste. Posteados no se editan.
2) Separación de capas
Documento origen (DTE, pago, nómina, cartola) â Regla de negocio â Plantilla de posteo â Asiento contable â Reporte.
3) Parametrización tributaria por vigencia
- Tasa IVA/régimen/tax codes configurables con
validFrom/validTo - Evitar hardcodes; versionar plantillas/reglas
4) Financiero vs tributario
Diseñar para convivir: utilidad financiera vs base tributaria, depreciación financiera vs tributaria, gastos aceptados/rechazados, ajustes.
5) Trazabilidad
Cada asiento responde: quién lo generó, qué documento lo originó, qué regla/plantilla se aplicó, cuándo se creó/posteó, si fue revertido/ajustado.
Prisma ORM â reglas contables
- Montos:
Decimalen Prisma (numericen PostgreSQL). NuncaFloat/number. DTOs usan strings. - Posteo transaccional: siempre
prisma.$transaction(...). - Reportes pesados:
$queryRawparametrizado para agregaciones; Prisma para CRUD. - Referencia completa de modelado: ver
references/prisma-modeling-guidelines.md - Schema starter: ver
assets/prisma-schema-starter.prisma
Formato de salida esperado
Arquitectura
- Objetivo â 2. Alcance MVP â 3. Modelo de dominio (Prisma models) â 4. Flujos de posteo/cierre â 5. Módulos NestJS â 6. Riesgos/decisiones
Prisma schema
- Models clave, enums, Ãndices/uniques, notas de migración, ejemplos de consultas
Asientos contables
- Documento/evento, supuestos, asiento (Debe/Haber), tratamiento IVA, variantes, validaciones
SQL/reportes
- Objetivo, supuestos de esquema, query, Ãndices, edge cases (NC, anulaciones, periodos cerrados, moneda)
Checklist de calidad
- ¿El asiento cuadra (sum debits = sum credits)?
- ¿Separa financiero vs tributario?
- ¿Considera NC/ND/anulación?
- ¿Respeta periodos cerrados?
- ¿Usa Prisma Decimal / numeric DB?
- ¿Evita hardcodes tributarios?
- ¿Incluye supuestos y limitaciones?
Referencia rápida â DTE Chile
export enum DteType {
FACTURA_ELECTRONICA = 33,
FACTURA_EXENTA_ELECTRONICA = 34,
BOLETA_ELECTRONICA = 39,
BOLETA_EXENTA_ELECTRONICA = 41,
NOTA_DEBITO_ELECTRONICA = 56,
NOTA_CREDITO_ELECTRONICA = 61,
}
Para plantillas de posteo DTE â asientos, ver references/dte-posting-templates.md y assets/posting-template-example.json.
Referencias del package
references/chile-tax-notes.mdâ IVA, DTE, reglas SIIreferences/dte-posting-templates.mdâ plantillas DTE â asientosreferences/reporting-formulas.mdâ fórmulas de reportes financieros/tributariosreferences/closing-checklist.mdâ checklist cierre mensual/anualreferences/prisma-modeling-guidelines.mdâ modelado contable en Prismaassets/prisma-schema-starter.prismaâ schema completo starterassets/chart-of-accounts-template.csvâ plan de cuentas base Chileassets/posting-template-example.jsonâ ejemplo JSON de plantilla de posteoscripts/*.sqlâ trial balance, general ledger, VAT summary, bank reconciliation