Skip to content

Commit

Permalink
Added support for contabilidad
Browse files Browse the repository at this point in the history
  • Loading branch information
satcfdi committed Mar 19, 2024
1 parent dee8304 commit 51d3fa7
Show file tree
Hide file tree
Showing 20 changed files with 1,941 additions and 4 deletions.
48 changes: 48 additions & 0 deletions satcfdi/render/templates/Balanza.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<h3>Balanza de Comprobación</h3>
<table>
<tr>
<th style="width: 25%">RFC</th>
<th style="width: 25%">Año</th>
<th style="width: 25%">Mes</th>
<th style="width: 25%">TipoEnvio</th>
</tr>
<tr>
<td class="cen">{{ c.RFC }}</td>
<td class="cen">{{ c.Anio }}</td>
<td class="cen">{{ c.Mes }}</td>
<td class="cen">{{ c.TipoEnvio }}</td>
</tr>
</table>
<br>
<table>
<thead>
<tr>
<th style="width: 20%;">No. Cuenta</th>
<th style="width: 20%;">Saldo Inicial</th>
<th style="width: 20%;">Debe</th>
<th style="width: 20%;">Haber</th>
<th style="width: 20%;">Saldo Final</th>
</tr>
</thead>
<tbody>
{% for c in iterate(c.Ctas) %}
<tr>
<td class="l">
{{ c.NumCta }}
</td>
<td class="r">
{{ c.SaldoIni }}
</td>
<td class="r">
{{ c.Debe }}
</td>
<td class="r">
{{ c.Haber }}
</td>
<td class="r">
{{ c.SaldoFin }}
</td>
</tr>
{% endfor %}
</tbody>
</table>
48 changes: 48 additions & 0 deletions satcfdi/render/templates/Catalogo.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<h3>Catálogo de Cuentas</h3>
<table>
<tr>
<th style="width: 25%">RFC</th>
<th style="width: 25%">Año</th>
<th style="width: 25%">Mes</th>
<th style="width: 25%"></th>
</tr>
<tr>
<td class="cen">{{ c.RFC }}</td>
<td class="cen">{{ c.Anio }}</td>
<td class="cen">{{ c.Mes }}</td>
<td class="cen"></td>
</tr>
</table>
<br>
<table>
<thead>
<tr>
<th style="width: 10%;">No Cuenta</th>
<th style="width: 45%;">Desc</th>
<th style="width: 5%;">Nivel</th>
<th style="width: 5%;">Natur</th>
<th style="width: 35%;">Código Agrupador</th>
</tr>
</thead>
<tbody>
{% for c in iterate(c.Ctas) %}
<tr>
<td class="l">
{{ c.NumCta }}
</td>
<td class="l">
{{ c.Desc }}
</td>
<td class="l">
{{ c.Nivel }}
</td>
<td class="l">
{{ c.Natur }}
</td>
<td class="l">
{{ c.CodAgrup }}
</td>
</tr>
{% endfor %}
</tbody>
</table>
64 changes: 64 additions & 0 deletions satcfdi/render/templates/Polizas.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<h3>Pólizas</h3>
<table>
<tr>
<th style="width: 25%">RFC</th>
<th style="width: 25%">Año</th>
<th style="width: 25%">Mes</th>
<th style="width: 25%">Tipo Solicitud</th>
</tr>
<tr>
<td class="cen">{{ c.RFC }}</td>
<td class="cen">{{ c.Anio }}</td>
<td class="cen">{{ c.Mes }}</td>
<td class="cen">{{ c.TipoSolicitud }}</td>
</tr>
</table>
<br>
<table>
<thead>
<tr>
<th style="width: 20%;">NumUnIdenPol</th>
<th style="width: 60%;">Concepto</th>
<th style="width: 20%;">Fecha</th>
</tr>
</thead>
<tbody>
{% for c in iterate(c.Poliza) %}
<tr>
<td class="l">
{{ c.NumUnIdenPol }}
</td>
<td class="l">
{{ c.Concepto }}
</td>
<td class="l">
{{ c.Fecha }}
</td>
</tr>
{% if c.Transaccion %}
<tr style="break-before: avoid;">
<td colspan="3" style="padding-left: 5%; padding-right: 0%;">
<table >
<tr>
<th style="width: 10%;">NumCta</th>
<th style="width: 54%;">Descripción Cuenta</th>
<th style="width: 12%;">Concepto</th>
<th style="width: 12%;">Debe</th>
<th style="width: 12%;">Haber</th>
</tr>
{% for c in c.Transaccion %}
<tr>
<td class="l">{{ c.NumCta }}</td>
<td class="l">{{ c.DesCta }}</td>
<td class="r">{{ c.Concepto }}</td>
<td class="r">{{ c.Debe }}</td>
<td class="r">{{ c.Haber }}</td>
</tr>
{% endfor %}
</table>
</td>
</tr>
{% endif %}
{% endfor %}
</tbody>
</table>
9 changes: 8 additions & 1 deletion tests/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,22 @@
current_dir = os.path.dirname(__file__)

CFDI_FILES = []
CONTABILIDAD_FILES = []

walk_path = os.path.join(current_dir, 'cfdi_ejemplos')
for (dirpath, dirnames, filenames) in walk(walk_path):
print(dirpath, dirnames)
rel_path = os.path.relpath(dirpath, walk_path)
for f in filenames:
CFDI_FILES.append(os.path.join(rel_path, f))


walk_path = os.path.join(current_dir, 'contabilidad_ejemplos')
for (dirpath, dirnames, filenames) in walk(walk_path):
rel_path = os.path.relpath(dirpath, walk_path)
for f in filenames:
CONTABILIDAD_FILES.append(os.path.join(rel_path, f))


PERSONAS_FISICAS = [
'CACX7605101P8',
'CAÑF770131PA3',
Expand Down
14 changes: 14 additions & 0 deletions tests/contabilidad_ejemplos/CACX7605101P8202312BN.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?xml version='1.0' encoding='UTF-8'?>
<BCE:Balanza xmlns:BCE="http://www.sat.gob.mx/esquemas/ContabilidadE/1_3/BalanzaComprobacion" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="1.3" RFC="CACX7605101P8" Mes="12" Anio="2023" TipoEnvio="N" xsi:schemaLocation="http://www.sat.gob.mx/esquemas/ContabilidadE/1_3/BalanzaComprobacion http://www.sat.gob.mx/esquemas/ContabilidadE/1_3/BalanzaComprobacion/BalanzaComprobacion_1_3.xsd">
<BCE:Ctas NumCta="1103" SaldoIni="0" Debe="12911.94" Haber="0" SaldoFin="12911.94"/>
<BCE:Ctas NumCta="1103.1" SaldoIni="0" Debe="12911.94" Haber="0" SaldoFin="12911.94"/>
<BCE:Ctas NumCta="1104" SaldoIni="0" Debe="1444.70" Haber="0" SaldoFin="1444.70"/>
<BCE:Ctas NumCta="1104.1" SaldoIni="0" Debe="1444.70" Haber="0" SaldoFin="1444.70"/>
<BCE:Ctas NumCta="2152" SaldoIni="0" Debe="0" Haber="2167.04" SaldoFin="2167.04"/>
<BCE:Ctas NumCta="2152.1" SaldoIni="0" Debe="0" Haber="2167.04" SaldoFin="2167.04"/>
<BCE:Ctas NumCta="2151" SaldoIni="0" Debe="1354.40" Haber="0" SaldoFin="-1354.40"/>
<BCE:Ctas NumCta="2151.1" SaldoIni="0" Debe="1354.40" Haber="0" SaldoFin="-1354.40"/>
<BCE:Ctas NumCta="2151.1.2" SaldoIni="0" Debe="1354.40" Haber="0" SaldoFin="-1354.40"/>
<BCE:Ctas NumCta="4100" SaldoIni="0" Debe="0" Haber="13544.00" SaldoFin="13544.00"/>
<BCE:Ctas NumCta="4100.1" SaldoIni="0" Debe="0" Haber="13544.00" SaldoFin="13544.00"/>
</BCE:Balanza>
22 changes: 22 additions & 0 deletions tests/contabilidad_ejemplos/CACX7605101P8202312CT.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version='1.0' encoding='UTF-8'?>
<catalogocuentas:Catalogo xmlns:catalogocuentas="http://www.sat.gob.mx/esquemas/ContabilidadE/1_3/CatalogoCuentas" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="1.3" RFC="CACX7605101P8" Mes="12" Anio="2023" xsi:schemaLocation="http://www.sat.gob.mx/esquemas/ContabilidadE/1_3/CatalogoCuentas http://www.sat.gob.mx/esquemas/ContabilidadE/1_3/CatalogoCuentas/CatalogoCuentas_1_3.xsd">
<catalogocuentas:Ctas CodAgrup="102" NumCta="1102" Desc="BANCOS" Nivel="1" Natur="D"/>
<catalogocuentas:Ctas CodAgrup="102.01" NumCta="1102.1" Desc="NACIONALES" SubCtaDe="1102" Nivel="2" Natur="D"/>
<catalogocuentas:Ctas CodAgrup="102.01" NumCta="1102.1.1" Desc="HSBC" SubCtaDe="1102.1" Nivel="3" Natur="D"/>
<catalogocuentas:Ctas CodAgrup="102.02" NumCta="1102.2" Desc="EXTRANJEROS" SubCtaDe="1102" Nivel="2" Natur="D"/>
<catalogocuentas:Ctas CodAgrup="105" NumCta="1103" Desc="CLIENTES" Nivel="1" Natur="D"/>
<catalogocuentas:Ctas CodAgrup="105.01" NumCta="1103.1" Desc="CLIENTES NACIONALES" SubCtaDe="1103" Nivel="2" Natur="D"/>
<catalogocuentas:Ctas CodAgrup="105.02" NumCta="1103.2" Desc="CLIENTES EXTRANJEROS" SubCtaDe="1103" Nivel="2" Natur="D"/>
<catalogocuentas:Ctas CodAgrup="113" NumCta="1104" Desc="IMPUESTOS A FAVOR" Nivel="1" Natur="D"/>
<catalogocuentas:Ctas CodAgrup="113.01" NumCta="1104.1" Desc="IVA A FAVOR" SubCtaDe="1104" Nivel="2" Natur="D"/>
<catalogocuentas:Ctas CodAgrup="208" NumCta="2153" Desc="IMPUESTOS TRASLADAOS COBRADOS" Nivel="1" Natur="A"/>
<catalogocuentas:Ctas CodAgrup="208.01" NumCta="2153.1" Desc="IVA TRASLADADO COBRADO" SubCtaDe="2153" Nivel="2" Natur="A"/>
<catalogocuentas:Ctas CodAgrup="209" NumCta="2152" Desc="IMPUESTOS TRASLADADOS NO COBRADOS" Nivel="1" Natur="A"/>
<catalogocuentas:Ctas CodAgrup="209.01" NumCta="2152.1" Desc="IVA TRASLADADO NO COBRADO" SubCtaDe="2152" Nivel="2" Natur="A"/>
<catalogocuentas:Ctas CodAgrup="216" NumCta="2151" Desc="IMPUESTOS RETENIDOS" Nivel="1" Natur="A"/>
<catalogocuentas:Ctas CodAgrup="216.03" NumCta="2151.1" Desc="IMPUESTOS RETENIDOS DE ISR" SubCtaDe="2151" Nivel="2" Natur="A"/>
<catalogocuentas:Ctas CodAgrup="216.03" NumCta="2151.1.1" Desc="IMPUESTOS RETENIDOS DE ISR ACREDITABLE" SubCtaDe="2151.1" Nivel="3" Natur="A"/>
<catalogocuentas:Ctas CodAgrup="216.03" NumCta="2151.1.2" Desc="IMPUESTOS RETENIDOS DE ISR PENDIENTE" SubCtaDe="2151.1" Nivel="3" Natur="A"/>
<catalogocuentas:Ctas CodAgrup="401" NumCta="4100" Desc="INGRESOS" Nivel="1" Natur="A"/>
<catalogocuentas:Ctas CodAgrup="401.22" NumCta="4100.1" Desc="INGRESOS POR VENTAS" SubCtaDe="4100" Nivel="2" Natur="A"/>
</catalogocuentas:Catalogo>
20 changes: 20 additions & 0 deletions tests/contabilidad_ejemplos/CACX7605101P8202312PL.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version='1.0' encoding='UTF-8'?>
<PLZ:Polizas xmlns:PLZ="http://www.sat.gob.mx/esquemas/ContabilidadE/1_3/PolizasPeriodo" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="1.3" RFC="CACX7605101P8" Mes="12" Anio="2023" TipoSolicitud="AF" xsi:schemaLocation="http://www.sat.gob.mx/esquemas/ContabilidadE/1_3/PolizasPeriodo http://www.sat.gob.mx/esquemas/ContabilidadE/1_3/PolizasPeriodo/PolizasPeriodo_1_3.xsd">
<PLZ:Poliza NumUnIdenPol="2023-12-I-0001" Fecha="2023-12-01" Concepto="Ingreso - Venta">
<PLZ:Transaccion NumCta="4100.1" DesCta="INGRESOS" Concepto="Subtotal" Debe="0" Haber="13544.00">
<PLZ:CompNal UUID_CFDI="a262228b-b105-4b90-9b02-ffe0e2d881cc" RFC="EWE1709045U0" MontoTotal="14911.94"/>
</PLZ:Transaccion>
<PLZ:Transaccion NumCta="2152.1" DesCta="IVA TRASLADADO NO COBRADO" Concepto="IVA Trasladado" Debe="0" Haber="2167.04">
<PLZ:CompNal UUID_CFDI="a262228b-b105-4b90-9b02-ffe0e2d881cc" RFC="EWE1709045U0" MontoTotal="14911.94"/>
</PLZ:Transaccion>
<PLZ:Transaccion NumCta="2151.1.2" DesCta="IMPUESTOS RETENIDOS DE ISR PENDIENTE" Concepto="ISR Retenido" Debe="1354.40" Haber="0">
<PLZ:CompNal UUID_CFDI="a262228b-b105-4b90-9b02-ffe0e2d881cc" RFC="EWE1709045U0" MontoTotal="14911.94"/>
</PLZ:Transaccion>
<PLZ:Transaccion NumCta="1104.1" DesCta="IVA A FAVOR" Concepto="IVA Retenido" Debe="1444.70" Haber="0">
<PLZ:CompNal UUID_CFDI="a262228b-b105-4b90-9b02-ffe0e2d881cc" RFC="EWE1709045U0" MontoTotal="14911.94"/>
</PLZ:Transaccion>
<PLZ:Transaccion NumCta="1103.1" DesCta="CLIENTES NACIONALES" Concepto="Total" Debe="14911.94" Haber="0">
<PLZ:CompNal UUID_CFDI="a262228b-b105-4b90-9b02-ffe0e2d881cc" RFC="EWE1709045U0" MontoTotal="14911.94"/>
</PLZ:Transaccion>
</PLZ:Poliza>
</PLZ:Polizas>
64 changes: 63 additions & 1 deletion tests/test_cfdi/conta/CatalogoCuentas.xml.html
Original file line number Diff line number Diff line change
Expand Up @@ -171,5 +171,67 @@
} </style>
</head>
<body>
<table><tr><td class='htd'>Ctas:</td><td><table><thead><tr><th>Cod Agrup</th><th>Num Cta</th><th>Desc</th><th>Sub Cta De</th><th>Nivel</th><th>Natur</th></tr></thead><tbody><tr><td>000 - Código para uso exclusivo de contribuyentes del sector financiero</td><td>NumCta0</td><td>Desc0</td><td>SubCtaDe0</td><td>50</td><td>A</td></tr><tr><td>000 - Código para uso exclusivo de contribuyentes del sector financiero</td><td>NumCta1</td><td>Desc1</td><td>SubCtaDe1</td><td>50</td><td>A</td></tr></tbody></table></td></tr><tr><td class='htd'>Versión:</td><td>1.1</td></tr><tr><td class='htd'>RFC:</td><td>&amp;&amp;&amp;000000000</td></tr><tr><td class='htd'>Mes:</td><td>01</td></tr><tr><td class='htd'>Anio:</td><td>2057</td></tr><tr><td class='htd'>Sello:</td><td>Sello0</td></tr><tr><td class='htd'>No. Certificado:</td><td>noCertificado1111111</td></tr><tr><td class='htd'>Certificado:</td><td>Certificado0</td></tr></table></body>
<h3>Catálogo de Cuentas</h3>
<table>
<tr>
<th style="width: 25%">RFC</th>
<th style="width: 25%">Año</th>
<th style="width: 25%">Mes</th>
<th style="width: 25%"></th>
</tr>
<tr>
<td class="cen">&amp;&amp;&amp;000000000</td>
<td class="cen">2057</td>
<td class="cen">01</td>
<td class="cen"></td>
</tr>
</table>
<br>
<table>
<thead>
<tr>
<th style="width: 10%;">No Cuenta</th>
<th style="width: 45%;">Desc</th>
<th style="width: 5%;">Nivel</th>
<th style="width: 5%;">Natur</th>
<th style="width: 35%;">Código Agrupador</th>
</tr>
</thead>
<tbody>
<tr>
<td class="l">
NumCta0
</td>
<td class="l">
Desc0
</td>
<td class="l">
50
</td>
<td class="l">
A
</td>
<td class="l">
000 - Código para uso exclusivo de contribuyentes del sector financiero
</td>
</tr>
<tr>
<td class="l">
NumCta1
</td>
<td class="l">
Desc1
</td>
<td class="l">
50
</td>
<td class="l">
A
</td>
<td class="l">
000 - Código para uso exclusivo de contribuyentes del sector financiero
</td>
</tr>
</tbody>
</table></body>
</html>
64 changes: 63 additions & 1 deletion tests/test_cfdi/conta/balanza.xml.html
Original file line number Diff line number Diff line change
Expand Up @@ -171,5 +171,67 @@
} </style>
</head>
<body>
<table><tr><td class='htd'>Ctas:</td><td><table><thead><tr><th>Num Cta</th><th>Saldo Ini</th><th>Debe</th><th>Haber</th><th>Saldo Fin</th></tr></thead><tbody><tr><td>NumCta1</td><td>-1,073,741,773.00</td><td>-1,073,741,773.00</td><td>-1,073,741,773.00</td><td>-1,073,741,773.00</td></tr><tr><td>NumCta3</td><td>-1,073,741,773.00</td><td>-1,073,741,773.00</td><td>-1,073,741,773.00</td><td>-1,073,741,773.00</td></tr></tbody></table></td></tr><tr><td class='htd'>Versión:</td><td>1.1</td></tr><tr><td class='htd'>RFC:</td><td>AAA010101AAA</td></tr><tr><td class='htd'>Mes:</td><td>01</td></tr><tr><td class='htd'>Anio:</td><td>2015</td></tr><tr><td class='htd'>Tipo Envio:</td><td>C</td></tr><tr><td class='htd'>Fecha Mod Bal:</td><td>2006-05-04</td></tr><tr><td class='htd'>No. Certificado:</td><td>nocertificado3333</td></tr></table></body>
<h3>Balanza de Comprobación</h3>
<table>
<tr>
<th style="width: 25%">RFC</th>
<th style="width: 25%">Año</th>
<th style="width: 25%">Mes</th>
<th style="width: 25%">TipoEnvio</th>
</tr>
<tr>
<td class="cen">AAA010101AAA</td>
<td class="cen">2015</td>
<td class="cen">01</td>
<td class="cen">C</td>
</tr>
</table>
<br>
<table>
<thead>
<tr>
<th style="width: 20%;">No. Cuenta</th>
<th style="width: 20%;">Saldo Inicial</th>
<th style="width: 20%;">Debe</th>
<th style="width: 20%;">Haber</th>
<th style="width: 20%;">Saldo Final</th>
</tr>
</thead>
<tbody>
<tr>
<td class="l">
NumCta1
</td>
<td class="r">
-1,073,741,773.00
</td>
<td class="r">
-1,073,741,773.00
</td>
<td class="r">
-1,073,741,773.00
</td>
<td class="r">
-1,073,741,773.00
</td>
</tr>
<tr>
<td class="l">
NumCta3
</td>
<td class="r">
-1,073,741,773.00
</td>
<td class="r">
-1,073,741,773.00
</td>
<td class="r">
-1,073,741,773.00
</td>
<td class="r">
-1,073,741,773.00
</td>
</tr>
</tbody>
</table></body>
</html>
Loading

0 comments on commit 51d3fa7

Please sign in to comment.