Contabilidad Electrónica

Contabilidad Electrónica desde un Sistema ERP

Diseño de la Solución

1 Introducción

1.1 Objetivo del documento

Proporcionar una definición genérica de Contabilidad Electrónica en México que puede ser implementado por diferentes sistemas ERP.

1.2 Sumario Ejecutivo

contabilidad-electronica-erp2El Servicio mexicano de Administración Tributaria (SAT) solicita a los contribuyentes presentar mensualmente en formato electrónico (.XML) información relacionada con la contabilidad, extraída del sistema ERP de la empresa empezando por el período cerrado el 31 de julio 2014.

La información resultante en formato XML debe subirse al portal del SAT con el RFC de la empresa y la FIEL (Firma electrónica).

 

La información solicitada consta de 3 archivos XML diferentes

  • Plan de cuentas
  • Balanza de Saldos
  • Pólizas Contables

2 Referencias

2.1 Definiciones, acronimos y abreviaciones

Término Descripción
SAT Servicio de Administración Tributaria”
CFDI Certificado Fiscal Digital Internet
RFC ID Fiscal de la Compañía
FIEL Firma Electrónica

2.2 Documentos y referencias

Documento Título Autor
Anex24 Anexo 24 SAT
Com.108 Comunicado de prensa 108/2014 SAT
2da Resolución SEGUNDA RESOLUCION DE MODIFICACIONES SAT
3ra Resolución TERCERA RESOLUCION DE MODIFICACIONES SAT
3ra Resolución TERCERA RESOLUCION DE MODIFICACIONES SAT

3 Requerimientos del Negocio

3.1 Introducción

Todas las empresas contribuyentes en México están obligadas a proporcionar mensualmente al SAT archivos XML con la siguiente información contable:

  • Plan de cuentas
  • Balanza de Saldos
  • Pólizas Contables (sólo empresas en circunstancias especiales

3.2 Requerimientos

3.2.1 General

La solución debe permitir extraer información de diferentes softwares ERP, facilitar la integración con el identificador único UUID proveniente de los CFDI (factura electrónica) y generar los archivos XML que se cargarán en el Portal del SAT.

Constará de las siguientes funciones:

  • Extraer datos a un repositorio común eAccounting (Contabilidad Electrónica).
  • Completar información adicional que normalmente no es parte de un sistema típico ERP.
  • Generar los archivos XML requeridos por el SAT.
3.2.2 Plan de Cuentas

Los datos que se deben proporcionar son básicos con sólo un requisito especial, la referencia al tipo de cuenta contable del SAT.

3.2.3 Balanza de Saldos

Balanza Mensual de Saldos incluyendo para cada cuenta contable saldo inicial, totales del periodo, totales de débitos y créditos y el saldo de cierre.

Importante: El SAT requiere que cada período comprenda las transacciones que ocurrieron entre el primero y último día del mes natural. Este período podría entrar en conflicto con el período contable definido por el cliente si este no coincide con el mes calendario.

3.2.4 Pólizas Contables

Esta información es necesaria sólo para los clientes que estén en un proceso de inspección o que requieren devoluciones de impuestos del SAT.

El XML generado mostrará cada transacción contable del período, incluyendo información del libro mayor, datos bancarios de los cheques y transferencias e información del folio fiscal de los CFDI relacionados con cada línea de póliza contable.

Es importante tener en cuenta que el folio fiscal del CFDI es una cadena de 36 caracteres, lo que hace que sea casi imposible digitarlo sin margen de error. Ejemplo: 49EB1023-087D-4FE4-AFA1-D8891BD40217.

La solución proporcionará una manera de ligar los XML de los CFDI con las pólizas contables.

3.3 Documentación del SAT

Se utilizaron los siguientes documentos:

  • “Anexo 24 de la Resolución Miscelánea Fiscal”, “
  • Comunicado de prensa 108/2014 “, como fuente para la especificación técnica.
  • SEGUNDA RESOLUCION DE MODIFICACIONES A LA RESOLUCION MISCELANEA FISCAL PARA 2014 Y SUS ANEXOS 1, 1-A, 2, 3, 6, 11, 14, 15, 18, 22, 23 y 24
  • TERCERA RESOLUCION DE MODIFICACIONES A LA RESOLUCION MISCELANEA FISCAL PARA 2014 Y SUS ANEXOS 3 Y 25

 

4 Solución Conceptual

4.1 Procesos del Negocio

En esta sección se describen las especificaciones técnicas aplicables al sistema ERP para generar los archivos XML de Contabilidad Electrónica solicitados por el SAT.

4.2 Descripción General del Proceso desde el Sistema ERP hasta el SAT

El origen de los datos serán, el sistema ERP y los distintos XML CFDI en poder de la empresa, tanto los emitidos por esta cómo los recibidos de terceros.

Cada software ERP proporcionará su propio proceso de extracción para poblar el repositorio de datos común de eAccounting(Contabilidad Electrónica).

Una solución común para todos los sistemas ERP permitirá completar los datos requeridos por el SAT y facilitará la integración con los XML CFDI para obtener el identificador único UUID.

A continuación creará los archivos XML requeridos por el SAT, La siguiente figura proporciona un flujo de alto nivel y pasos para generar esos XMLs

ce-erp-proceso

 

5 Detalle de la Solución Conceptual

5.1 Proceso de Extracción

ce-extraccion

Extraerá los siguientes datos del repositorio eAccounting (Contabilidad Electrónica) del sistema ERP a través de archivos XML.

  • Período de extracción
  • Plan de Cuentas
  • Pólizas Contables
  • Tipos de Póliza Contable
  • Balanza de Saldos
  • Monedas
  • Bancos

5.2 Repositorio de Datos eAccounting (Contabilidad Electrónica) ERP

ce-repositorioTendrá los datos extraídos, más todos los datos añadidos o procesados utilizando la solución común Mongoose

5.3 Completar los datos extraidos del Sistema ERP

ce-completarAlgunos datos extraídos del sistema ERP tendrán que completarse

 

 

  • Tablas adicionales del SAT
  • Datos del SAT en las tablas del sistema ERP
  • Información adicional de pagos
  • Tipo de Póliza Contable
5.3.1 Tablas adicionales del SAT

Las siguientes tablas tendrán que agregarse a la solución común

  • Catálogo de Tipo de Cuenta Contable
    Tipo de cuenta definida por el SAT.
    Ejemplo: 1.1 = Cash.
    Ver Anexo 24 Página 8
  • Catálogo SAT tipo de moneda
    Tipo de moneda estandarizada por SAT.
    Ejemplo USD = Dólar estadounidense
    Ver página web del SAT
  • Catálogo SAT Identificador de Bancos Identificador de Bancos estandarizada por SAT.
    Ejemplo 002 = Banamex
    Ver página web del SAT
5.3.2 Datos adicionales a las tablas maestras extraidas del sistema ERP

Se añadirán datos adicionales a las tablas maestras extraídas del sistema ERP

  • Cuentas Contables CodAgrup – SAT tipo de cuenta
  • Monedas
    ID de Moneda SAT
  • Bancos
    ID de Banco SAT
  • Tipo de Póliza Contable
    Atributos adicionales necesarios para agregar y validar información a las pólizas contables.
5.3.3 Datos adicionales a las pólizas de pago extraidas del sistema ERP

Para los pagos de proveedores con cheque será necesario agregar información del banco de origen.

  • Línea de Póliza de Pago del proveedor
    • Banco origen
    • Cuenta bancaria origen

Para los pagos de proveedores con transferencia bancaria será necesario agregar.

  • Transferencia bancaria al proveedor, línea de pago
    • Banco origen
    • Cuenta bancaria origen
    • Banco destino
    • Cuenta bancaria destino

5.4 Integrar las pólizas contables del ERP con sus CFDI

ce-integrar-cfdi

Incluir el identificador único del CFDI – UUID – en las pólizas contables es la parte más compleja del proceso ya que la información recibida del sistema ERP puede no coincidir con sus respectivos CFDI debido a errores de tipeo y hará fallar el proceso de vinculación automática lo que requerirá trabajo manual.

Las pólizas a integrar serán:

  • Facturas de clientes.
    Este proceso debe ser automático, ya que el número de la factura puede utilizarse confiablemente como clave única.
  • Facturas de proveedores Este proceso debe ser automático en un 98%, ya que el RFC del proveedor y el número de la factura son clave única. Sin embargo, si hay errores de digitación del número de factura del proveedor, esos casos se deberán vincularse manualmente. Para facilitar la conciliación manual se proporcionarán datos de la factura del proveedor y de los XML
  • Facturas de proveedores pagados como reintegros de gastos Este proceso será manual. Se proporcionarán datos adicionales como el nombre del colaborador para facilitar la conciliación manual.
  • CFDI de pagos de nómina. Este proceso será manual, pero se proporcionará una función de “enlazar todos” para conciliar una póliza con todos los CFDI identificados de cierta manera. Por ejemplo 2014071Q significado julio 2014 primera quincena.
  • CFDI de Pagos de Impuestos. Muchas dependencias gubernamentales como el IMSS entregan un CFDI como comprobante de pago de impuestos, Este proceso de enlace será manual. Se proporcionarán datos adicionales tales como nombre de la dependencia del gobierno para facilitar la conciliación manual.

5.5 Repositorio de CFDI

ce-repositorio-cfdiLos datos extraídos de los CFDI tendrán todos los datos significativos, como RFC, UUID, número de factura, etc.

 

Los CFDI incluidos serán:

  • Facturas a clientes.
  • Facturas de proveedores
  • Facturas de proveedores pagados por gastos de representación de la empresa (reembolso de viáticos)
  • CFDI de pagos de nómina
  • CFDI comprobantes de pagos de impuestos al gobierno

5.8 Generación de los archivos XML para el SAT

ce-generar-xml

La generación de los archivos XML permitirá re-procesos en caso de ajustes en el período cerrado. Tenga en cuenta que el SAT permite volver a enviar la información para corregir errores. Generará:

  • Plan de cuentas
  • Balanza de Comprobación
  • Pólizas Contables

5.9 Archivos XML de comunicación entre el Sistema ERP y la solución común

ce-XML-comunicacion

Información extraída del sistema ERP en formato XML. Ver (1) proceso de extracción

5.10 Archivos CFDI de Clientes, Proveedores, Nómina e Impuestos

ce-cfdi-clientes-etc

  • Facturas de los clientes.
  • Facturas de proveedores
  • Facturas de proveedores pagados por gastos de representación de la empresa (Viaje gastos de reembolso)
  • CFDI de pagos de nómina
  • CFDI de Pago de impuesto al Gobierno

5.11 Extraer datos significativos de los CFDI a un repositorio

ce-extraer-cfdice-extraer-cfdi

Los XML de los diferentes tipos de CFDIs se deberán almacenar en directorios específicos del servidor. El programa buscará los CFDIs no extraídos, los extraerá y moverá los archivos XML a otro directorio (el designado como archivo permanente).

Los CFDI considerados serán:

  • Facturas de clientes.
  • Facturas de proveedores.
  • Facturas de proveedores pagados como reembolso de viáticos. El programa solicitará Id y nombre del representante de la empresa.
  • Pagos de nómina. El programa solicitara el periodo de pago
  • Comprobantes de pago de impuesto al Gobierno. El programa solicitara el Nombre de la dependencia Gubernamental si esta no es parte del CFDI.

6 Usando el sistema ERP con eAccounting (Contabilidad Electrónica)

6.1 Dia a día

Cada día su sistema ERP se utilizara como de costumbre.

Las empresas que deben reportar Pólizas Contables al SAT pueden ejecutar periódicamente los procesos (1), (3), (11), (12) y (4) para adelantar el trabajo de cierre del mes.

6.2 Cierre del mes en el sistema ERP y en eAccounting (Contabilidad Electrónica).

Una vez que el proceso de cierre mensual contable está terminado todas las empresas deben correr los procesos (1) y (3).

Las empresas que deben reportar las pólizas contables del sistema ERP deben ejecutar además los procesos (11) y (4)

Luego debe ejecutarse la generación de los XML (8)

6.3 Subir XMLs al portal del SAT

Los XMLs generados por eAccounting (Contabilidad Electrónica) se deben subir al Portal del SAT. Para eso debe loguearse en dicho portal utilizando el RFC de la empresa y la firma electrónica FIEL.

Después de eso, se hace la elección de los archivos XML generados por eAccounting (Contabilidad Electrónica) para subirlos.

El portal de la SAT muestra un número de confirmación de envío. Con ese número se puede descargar un PDF de reconocimiento de aceptación.

7 Detalle de los XML que generará eAccounting (Contabilidad Electrónica) desde el sistema ERP.

eAccounting (Contabilidad Electrónica) adhiere al formato definido en el “Anexo 24” del SAT

Las siguientes imágenes se basan en las especificaciones del “Anexo 24” mencionados y tienen la intención de proporcionar una visión general de alto nivel de la estructura de los XML de eAccounting (Contabilidad Electrónica).

7.1 Plan de Cuentas

Incluye todas las cuentas del Plan de Cuentas de la empresa

Esquema XML ce-xml-plan-cuentasPlan de Cuentassat01

Anexo 24 Field Description Mand. Data Type Comments
Version Format Version Yes xs:string Fixed 1.0
RFC Company RFC Yes xs:string Length: Min 12 Max 13
TotalCuentas Number of accounts Yes xs:int
Mes Month Yes xs:string
Ano Year Yes xs:string
7.1.1 Plan de Cuentas – Cuentas – Nodo Mandatorio

sat02

Anexo 24 Field Description Mand. Data Type Comments
CodAgrup SAT account type Yes xs:string
NumCta Account Id Yes xs:string Max length 100
Desc Account Description Yes xs:string Max length 200
SubCtaDe Sub Account No xs:string Max length 100
Nivel Accounts catalog level Yes xs:int Minimum 1
Natur Account Nature Yes xs:string D=Debtor A=Creditor

7.2 Balanza de Saldos

Incluye todas las cuentas con su balance del periodo (inicial, débito, crédito, cierre).

Cada uno de los nodos anteriores tiene los siguientes campos -Nombres definidos como en Anexo 24:

Esquema XML

sat03

Balanza de Saldos

sat04

Anexo 24 Field Description Mand. Data Type Comments
Version Format Version Yes xs:string Fixed 1.0
RFC Company RFC Yes xs:string Length: Min 12 Max 13
TotalCuentas Number of accounts Yes xs:int
Mes Month Yes xs:string
Ano Year Yes xs:string
7.2.1 Balanza de Saldos – Saldo de las Cuentas – Nodo Mandatorio

sat05

Anexo 24 Field Description Mand. Data Type Comments
NumCta Account Id Yes xs:string Max 100
SaldoIni Opening balance Yes BCE:t_importe
Debe Debit Yes BCE:t_importe
Haber Credit Yes BCE:t_importe
SaldoFin Closing Balance Yes BCE:t_importe

7.3 Pólizas Contables

Incluye todas las Pólizas de la Contabilidad para el período seleccionado

Esquema XML

sat06

Pólizas Contables

sat07

Anexo 24 Field Description Mand. Data Type Comments
Version Format Version Yes xs:string Fixed 1.0
RFC Company RFC Yes xs:string Length: Min 12 Max 13
Mes Month Yes xs:string
Ano Year Yes xs:string
7.3.1 Pólizas Contables – Póliza – Nodo Mandatorio

sat08

Anexo 24 Field Description Mand. Data Type Comments
Tipo Transaction Type Yes xs:int 1=Income – 2=Expenses 3=Journal
Num G/L Transaction Id Yes xs:string Max length 50
Fecha Date Yes xs:date
Concepto G/L Transaction description Yes xs:string Max length 300
7.3.2 Póliza – Línea de Póliza – Nodo Mandatorio

sat09

Anexo 24 Field Description Mand. Data Type Comments
NumCta Account Number Yes xs:string Max length 100
Concepto Transaction descrip. Yes xs:string Max length 300
Debe Debit Yes PLZ:t_importe
Haber Credit Yes PLZ:t_importe
Moneda SAT Currency ID Yes xs:string
TipoCamb Exchange Rate No PLZ:t_importe
7.3.3 Línea de Póliza – Cheque – Nodo Optativo

sat10

Anexo 24 Field Description Mand. Data Type Comments
Num Check Number Yes xs:string Max length 20
Banco SAT Bank Id Yes xs:string
CtaOri Origin Bank Account Yes xs:string Max length 50
Fecha Date Yes Xs:date
Monto Amount Yes PLZ:t_importe
Benef Beneficiary Yes xs:string Max length 300
RFC Beneficiary RFC Yes xs:string Length: Min 12 Max 13
7.3.4 Línea de Póliza – Transferencia – Nodo Optativo

sat11

Anexo 24 Field Description Mand. Data Type Comments
CtaOri Origin Account Yes xs:string Max length 50
BancoOri Origin SAT Bank Id Yes xs:string
Monto Amount Yes PLZ:t_importe
CtaDest Destination Account Yes xs:string Max length 50
BancoDest Destination SAT Bank Id Yes xs:string
Fecha Date Yes Xs:date
Benef Destination Account Beneficiary Yes xs:string Max length 300
RFC Beneficiary RFC Yes xs:string Length: Min 12 Max 13
7.3.5 Línea de Póliza – Comprobante CFDI – Nodo Optativo

sat12

Anexo 24 Field Description Mand. Data Type Comments
UUID_CFDI CFDI Unique Id Yes xs:string Max length 36
Monto Amount Yes PLZ:t_importe
RFC Beneficiary RFC Yes xs:string Length: Min 12 Max 13