Histórico da Página
...
Procedimiento de Utilización
1. En el módulo Contabilidad de Gestión (SIGACTB), a través de la opción “Cuentas SAT” (Actualizaciones | Archivos):
I. Al ingresar se tendrán 2 alternativas , para generar por primera vez la tabla de código agrupador del SAT:
Por, será por medio de un archivo en formato CSV, y cada vez que el SAT libere actualizaciones a este catálogo, se podrá descargar el documento de la página del SAT (Codigo_agrupador.pdf) y pasarlo a archivo CSV, con la siguiente estructura:
Nivel, Código Agrupador, Nombre de la cuenta y/o subcuenta
Ejemplo:
1, 100, Activo
2,100.01, Activo a corto plazo
1, 101, Caja
2,101.01, Caja y efectivo
1, 102, Bancos
…
Este archivo debe tener las siguientes características:
- Separado por comas (,)
- Archivo con extensión CSV
- Nombre del archivo debe ser Cuentas_SAT.csv
- Estar El archivo debe estar ubicado en la carpeta de la ruta local definida en el parámetro MV_CTBPATH (ejemplo: “C:\”).
Nota: Tenga especial atención al pasar a CSV el archivo Codigo_agrupador.pdf, con los códigos que contengan .10, .20 (ejemplo: 106.10, 109.10, 109.20, ...) ya que existe la posibilidad de dejar los códigos solo con .1, .2 (ejemplo 106.1, 109.1, 109.2, ...), generando inconsistencias en la información.
Opciones del proceso de importación:
Si al entrar a la rutina de Cuentas SAT (CTBA601):
a) La tabla CWD esta vacía y NO existe el archivo Cuentas_SAT.csv, se visualiza el mensaje de aviso "Configure el parametro MV_CTBPATH con la ruta donde se encuentra el archivo Cuentas_SAT.csv y verifique que dicho archivo esta en esa ruta", no procesará nada, y solamente permitirá el paso para continuar con el mantenimiento.
b) Se encuentra el archivo Cuentas_SAT.csv en la ruta definida y la tabla CWD se encuentra vacía, se procederá a cargar el contenido del archivo, una vez finalizado el proceso, el archivo será renombrado a Procesado_Cuentas_SAT.csv.
c) Se encuentra el archivo Cuentas_SAT.csv en la ruta definida y la tabla CWD NO se encuentra vacía, se preguntará ¿Procede a actualizar el catálogo de cuentas?, si la respuesta es afirmativa, se Sí al ejecutar la opción se encuentra el archivo “Cuentas_SAT.csv” en la ruta definida, se preguntará ¿Existe el archivo Cuentas_SAT, desea cargar los Códigos Agrupadores?, si la respuesta es afirmativa, procederá a eliminar el contenido actual del tabla (tabla CWD) y y a cargar el contenido del archivo, una vez finalizado el proceso, el archivo será renombrado a Procesado_Cuentas_SAT.csv. Si , sí la respuesta es negativa, no realizará ninguna acción.
Si no existe archivo, se cargarán por primera vez las cuentas agrupadoras del catálogo del SAT (Anexo 24). Adicionalmenteno actualizará el catálogo y permitirá el paso para continuar con el mantenimiento.
d) La tabla CWD NO esta vacía y no existe el archivo Cuentas_SAT.csv, no procesará nada, y solamente permitirá el paso para continuar con el mantenimiento.
Adicionalmente después de efectuar la carga de las cuentas, se agrega el código agrupador “NO APLICA” – No aplica SAT, el cual puede ser utilizado para clasificar aquellas cuentas que no serán consideradas en la generación de los archivos XML
.De la misma forma, al entrar a la rutina se detectará si en la tabla del Plan de Cuentas (CT1) el campo de Nivel ya está informado; en caso de que no sea así, se preguntará si desea que de manera automática se asignen los niveles al catálogo, si la respuesta es afirmativa de inmediato se procederá a actualizar el campo en la tabla.
II. Las opciones disponibles para el mantenimiento de las cuentas son:
- Incluir: El usuario debe ingresar los siguientes campos:
- Código agrupador (CWD_CODIGO). Obligatorio
- Descripción (CWD_DESCRI). Obligatorio
- Nivel (CWD_NIVEL). Obligatorio
Solamente si desea agregar una nueva cuenta no considerada en el mantenimiento inicial del catálogo.
- Modificar: Se pueden modificar todos los campos excepto el “Código Agrupador” (CWD_CODIGO).
- Eliminar: No se permite la eliminación en los siguientes casos:
- Si existe una subcuenta (Cuentas SAT) asociada al código agrupador.
- Si existe una cuenta contable (Plan de cuentas) que esté utilizando el código agrupado.
2. En el módulo Contabilidad de Gestión (SIGACTB), a través de la opción “Monedas Contables” (Actualizaciones | Archivos):
I. Al ingresar por primera vez, se cargará en la tabla genérica el Catálogo de Monedas definido por el SAT.
II. Configurar cada una de las “Monedas contables” de Protheus con el código de “Moneda SAT” (CTO_MOESAT) que le corresponde del Catálogo de Monedas SAT.
- Presionar F3 para ejecutar la consulta o bien ingresarla manualmente.
3. En el módulo Financiero (SIGAFIN), a través de la opción “Bancos” (Actualizaciones | Archivos):
I. Al ingresar por primera vez, se cargará en la tabla genérica el Catálogo de Bancos definido por el SAT.
II. Configurar cada uno de los Bancos de Protheus con el código de “Banco SAT” (A6_BCOSAT) que le corresponde del catálogo de Bancos SAT.
- Presionar F3 para ejecutar la consulta o bien ingresarlo manualmente.
4. En el módulo Contabilidad de Gestión (SIGACTB), a través de la opción “Plan de Cuentas” (Actualizaciones | Entes)
I. Configurar cada una de las cuentas contables con el “Código Agrupador” (CT1_CODAGR) que le corresponde del catálogo de Cuentas SAT “Código Agrupador” (CWD_CODIGO).
- Presionar F3 para ejecutar la consulta o bien ingresarlo manualmente.
II. Definir el campo de Nivel de la cuenta contable (CT1_NIVEL).
5. En el módulo Contabilidad de Gestión (SIGACTB), a través de la opción “Asientos Estándar” (Actualizaciones | Entes)
I. Configurar los campos de Folio Fiscal (CT5_UUID) y RFC (CT5_RFC) para los asientos estándar donde se requiere grabar la información del CFDi (factura de entrada o salida que origina el asiento contable).
Ejemplo.
1. Código de Asiento Estándar: 610 | NF Facturas de venta - Ventas
Asignar el valor “SF2->F2_UUID” en el campo Folio Fiscal.
Asignar el valor “SA1->A1_CGC” en el campo RFC.
1. Código de Asiento Estándar: 650 | NF Facturas de entrada - Compras
Asignar el valor “SF1->F1_UUID” en el campo Folio Fiscal.
Asignar el valor “SA2->A2_CGC” en el campo RFC.
6. En el módulo Financiero (SIGAFIN), a través de la opción “Clientes” (Actualizaciones | Archivos):
I. Configurar cada una de los “Clientes”, asignando el valor en los campos:
- Bco Pago (A1_BCOPAGO): Seleccionar el código del banco para pago a proveedor. Presionar F3 para ejecutar la consulta al catálogo de bancos (SA6 - Bancos) o bien ingresar el código manualmente.
- Cta Pago (A1_CTAPAGO).Ingresar el número de cuenta para pago a proveedor.
7. En el módulo Financiero (SIGAFIN), a través de la opción “Proveedores” (Actualizaciones | Archivos):
I. Configurar cada una de los “Proveedores”, asignando el valor en los campos:
- Bco Pago (A2_BCOPAGO): Seleccionar el código del banco de pago del cliente. Presionar F3 para ejecutar la consulta al catálogo de bancos (SA6 - Bancos) o bien ingresar el código manualmente.
- Cta Pago (A2_CTAPAGO).Ingresar el número de cuenta para pago a proveedor.
8. Registrar movimientos en el sistema para facturas de entrada, facturas de salida, órdenes de pago, recibos de cobranza y transferencias bancarias.
- Facturas de entrada y salida.
- Se incluirá la información del CFDi solo si se registró en el sistema.
- Si el proveedor es de origen extranjero (A2_EST = ‘EX’), las facturas que se registren se incluirán en el archivo XML de pólizas en el nodo <PLZ:CompExt>.
- Órdenes de pago y Recibos de cobranza.
- Se incluirá la información de un cheque para los siguientes tipos de títulos o documentos: “CH”, “CA”.
- Para los tipos de títulos o documentos “TF” y “EF”, se incluirán en el archivo XML de pólizas el nodo <PLZ:Transferencia>.
Importante
El atributo <PLZ:Transferencia> se incluirá solo si el parámetro MV_CTBTRNS tiene el valor ‘True’ (.T.) y existe información en los campos A1_BCOPAGO y A1_CTAPAGO (Cobro Diverso) o A2_BCOPAGO y A2_CTAPAGO (Orden de Pago), de lo contrario sera incluido el nodo <PLZ:OtrMetodoPago>.
- Movimientos Bancarios.
- Se incluirá la información solo cuando el tipo de movimiento sea “TR”.
Importante
Si cuenta con la nómina integrada en Protheus, para efectos de la validación deberá enviar a timbrar al menos un proceso de nómina. Si los recibos fueron timbrados correctamente los datos de UUID, RFC, Fecha de Timbrado y Monto Total se guardaran en la tabla RIW - Folios Fiscales Nómina. Esta información será considerada para formar el reporte auxiliar de folios fiscales.
- En el módulo Contabilidad de Gestión (SIGACTB), a través de la opción “Contabilidad Electrónica” (Miscelánea | Contabilidad Electrónica):
I. Definir los parámetros deseados para la generación de los archivos XML:
a) Año: Año contable para la generación del archivo. Deberá colocar un año mayor o igual a 2014 y menor e igual a 2099.
b) Calendario: Calendario Contable. Deberá seleccionar el calendario contable con el cual serán seleccionados los periodos contables.
c) Periodo Inicio: Seleccione el periodo inicial para la generación de los archivos XML.
d) Periodo Fin: Seleccione el periodo final para la generación de los archivos XML.
e) Ruta: Ruta en donde serán generados los XML (debe existir).
f) Tipo: Combo con las opciones:
1- Catálogo de Cuentas
2- Balanza de Comprobación
3- Pólizas
4- Auxiliares
5- Todas
g) Tipo de envío de balanza: Combo con las opciones:
1- Normal (N)
2- Complementaria (C)
h) Fecha modificación de balanza: Fecha de última modificación contable a la balanza de comprobación. Requerido cuando el tipo de envío sea ‘Complementaria’.
i) Tipo de solicitud de póliza: Combo con las opciones:
1- Acto de Fiscalización (AF)
2- Fiscalización Compulsa (FC)
3- Devolución (DE)
4- Compensación (CO)
j) Número de orden: Expresar el número de orden asignado al acto de fiscalización. Requerido para tipo de solicitud AF o FC.
k) Número de trámite: Expresar el número de trámite asignado a la solicitud de devolución o compensación. Requerido para tipo de solicitud DE o CO.
l) Recibos de nómina CFDi: Combo con las opciones:
1- No: Excluye del auxiliar de folios fiscales los recibos de nómina CFDi.
2- Si: En caso de tener la nómina integrada en protheus, se desplegará una ventana dónde se mostrarán los datos correspondientes a la nómina del periodo seleccionado (MV_PAR02 + MV_PAR01). La ventana mostrara los siguientes campos:
- Filial: Filial a la que corresponden los recibos de nómina. No editable.
- Proceso: Proceso para la generación de los recibos de nómina. No editable.
- Procedimiento: Procedimiento para la generación de los recibos de nómina. No editable.
- Pago: Número de pago para la generación de los recibos de nómina. No editable.
- Lote: Definir el lote al que pertenece la póliza contable de nómina. Editable.
- SubLote: Definir el sublote al que pertenece la póliza contable de nómina. Editable.
- Número de Póliza: Número de asiento contable correspondiente a la nómina. Editable.
Si se ingresa información en alguno de los campos editables (lote, sublote o número de póliza), se deberá ingresar la información faltante en el resto de los campos para poder continuar con el proceso de generación.
En caso de no contar con la nómina integrada en Protheus no tendrá ningún efecto para el proceso.
m) Selecciona Sucursales: Combo con las opciones:
1- No: Utiliza solo la información de la sucursal en la cual se está trabajando.
2- Si: Permite seleccionar las sucursales para consolidar la información. Solo disponible para la Balanza de Comprobación.
n) Situación Anterior Gan/Per: Combo con las opciones:
1- Si: Considerar los asientos de la determinación de resultados.
2- No: No considerar los asientos de la determinación de resultados.
o) Fecha Ganancias/ Perdidas: Fecha de determinación de resultado que desea desconsiderar. Esta pregunta depende de la respuesta a la pregunta "¿Situación Anterior Gan/Per?".
Importante
En base a la configuración de los asientos estándar de las pólizas de compras y/o ventas donde se define el vínculo con la factura/NC correspondiente, es posible configurar que cada asiento contable registre el folio fiscal del respectivo documento. El resultado en los archivos XML será:
- Pólizas: El elemento será incluido en todas las partidas con el mismo UUID y el valor total del documento.
- Auxiliares de folios fiscales: El elemento con el UUID y el valor total del documento se informa solo una vez por póliza.
Los Folios Fiscales de los recibos de nómina solo se incluirán en el reporte auxiliar de folios fiscales cuando se seleccione el tipo 4 - Auxiliares o 5 - Todas.
II. Una vez definidos los parámetros, dar clic en el botón “OK” para dar inicio al proceso de generación de los XML. Al finalizar, ingresar en la ruta definida en los parámetros para visualizar los archivos XML generados.
III. El nombre de los archivos será formado de la siguiente manera:
- Catálogo de cuentas:
- SM0->M0_CGC + MV_PAR02 + MV_PAR01 + ‘CT’ ”.XML”
Ejemplo: BBB010101AB1201501CT.XML
- Balanza de comprobación Normal:
- SM0->M0_CGC + MV_PAR02 + MV_PAR01 + ‘BN’ ”.XML”
Ejemplo: BBB010101AB1201501BN.XML
- Balanza de comprobación Complementaria:
- SM0->M0_CGC + MV_PAR02 + MV_PAR01 + ‘BC’ ”.XML”
Ejemplo: BBB010101AB1201501BC.XML
- Pólizas:
- SM0->M0_CGC + MV_PAR02 + MV_PAR01 + ‘PL’ ”.XML”
Ejemplo: BBB010101AB1201501PL.XML
- Reporte auxiliar de folios fiscales:
- SM0->M0_CGC + MV_PAR02 + MV_PAR01 + ‘XF’ ”.XML”
Ejemplo: BBB010101AB1201501XF.XML
- Reporte auxiliar de cuentas y sub-cuentas:
- SM0->M0_CGC + MV_PAR02 + MV_PAR01 + ‘XC’ ”.XML”
Ejemplo: BBB010101AB1201501XC.XML
IV. Al finalizar el proceso de generación de los XML, se mostrará una ventana para imprimir un log de errores, el cual es formado por aquellas cuentas del “plan de cuentas” (Tabla CT1) que no tienen los siguientes datos:
- Sin “Código Agrupador” registrado (CT1_CODAGR).
Ejemplo: 1100050000000 Sin código agrupador
- Si el “Código Agrupador” (CT1_CODAGR) asignado a la cuenta no tiene un “Nivel” registrado en la tabla de “Cuentas SAT” (CWD_NIVEL).
Ejemplo: 1100040010000 100.01 Sin nivel registrado
- Si todas las cuentas registradas en el “Plan de Cuentas” (Tabla CT1) tienen la información necesaria para formar el archivo XML, no será generado el log de errores.
V. En el caso del proceso de generación del XML de Pólizas, se mostrará otra ventana para imprimir el log de errores, el cual es formado por aquellas pólizas de los “Asientos Contables” (Tabla CT2) que no tienen los siguientes datos:
- Sin “Moneda SAT” registrada (CTO_MOESAT).
Ejemplo: Moneda: 02 Dólares Sin código de Moneda SAT (Tabla CTO)
- Sin “Banco SAT” registrado (A6_BCOSAT). Solamente si el valor del parámetro “A6_BCOSAT” es .T. y el asiento contable se originó a partir de algún movimiento en el cual se involucre un banco (origen o destino).
Ejemplo: Banco: 100 Banco 1 Sin código de Banco SAT (Tabla SA6)
VI. Los archivos XML serán formados aun cuando sea generado el log de errores, excluyendo aquellas cuentas o pólizas que no tienen la información necesaria.
VII. Las cuentas que utilicen el código agrupador “NO APLICA” – No aplica SAT no serán consideradas para formar el log de errores.
Punto de Entrada LOCXPE33
- El usuario debe desarrollar, o modificar en caso de que ya exista en el RPO en cuestión, la función de usuario correspondiente al punto de entrada LOCXPE33 (específico/especial para cada cliente) para agregar los campos correspondientes a los timbres fiscales digitales en las pantallas de captura de encabezado de los documentos tipo NF/NCC/NCP. Esto tendrá efecto en las rutinas:
- Facturas de entrada (SIGACOM >> Actualizaciones | Movimientos | Factura Entrada).
- Notas de crédito de proveedores (SIGACOM >> Actualizaciones | Movimientos | Nota Cred/Debito).
- Facturas de salida (SIGAFAT >> Actualizaciones | Facturación | Facturación).
- Notas de crédito de clientes (SIGAFAT >> Actualizaciones | Facturación | Notas de Cred/Deb.).
A continuación, un ejemplo del código para la rutina mencionada.
Ejemplo:
#Include 'Protheus.ch'
User Function LOCXPE33()
Local aCposFact := Paramixb[1]
Local nTipoNF := Paramixb[2]
Local cFunName := FUNNAME()
If OAPP:CMODNAME == "SIGACOM" .And. cFunName $ ("MATA101N|MATA466N")
aAdd(aCposFact,{NIL,"F1_UUID",NIL,NIL,NIL,"",NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,".T."})
aAdd(aCposFact,{NIL,"F1_FECTIMB",NIL,NIL,NIL,"",NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,".T."})
aAdd(aCposFact,{NIL,"F1_FECANTF",NIL,NIL,NIL,"",NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,".T."})
aAdd(aCposFact,{NIL,"F1_TIMBRE",NIL,NIL,NIL,"",NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,".T."})
EndIf
If OAPP:CMODNAME == "SIGAFAT" .And. cFunName $ ("MATA467N|MATA468N|MATA465N")
aAdd(aCposFact,{NIL,"F2_UUID",NIL,NIL,NIL,"",NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,".T."})
aAdd(aCposFact,{NIL,"F2_FECTIMB",NIL,NIL,NIL,"",NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,".T."})
aAdd(aCposFact,{NIL,"F2_FECANTF",NIL,NIL,NIL,"",NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,".T."})
aAdd(aCposFact,{NIL,"F2_TIMBRE",NIL,NIL,NIL,"",NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,".T."})
EndIf
Return(aCposFact)
Importante
En licenciamiento para Protheus Serie 3 el nombre del punto de entrada al que se refiere esta sección debe llevar el nombre LOCXS333.