01. DATOS GENERALES


Producto

Línea de producto: 

Segmento:

Módulo:SIGFAT - Facturación
Función:
RutinasNombre TécnicoFecha
LOCXNFNotas Fiscales.
LOCXNF2Funciones Genéricas para Documentos Fiscales.
LOCXMEXFunciones Genéricas para Documentos Fiscales para México.
SIGACUSFunciones Genéricas para Documentos Fiscales.
LOCXFUNAFunciones generales de documentos fiscales.
FISA817Anular/Timbrar/Imprimir Cobros Diversos.
FISA800Timbrado CFDI.
FATSMEX.INIScript de generación de los archivos XML para Notas Fiscales de Salida.
FATEMEX.INIScript de generación de los archivos XML para Notas Fiscales de Entrada.
País:México (Pacote Atux: 010185)
Ticket:13529247
Requisito/Story/Issue (informe el requisito vinculado):DMINA-15012


02. SITUACIÓN/REQUISITO

Conforme a la actualización realizada al Servicio de Cancelación ante el SAT (reforma fiscal 2022), para solicitar la Cancelación de una Factura de Venta (NF), Nota de Débito al Cliente (NDC) o  Nota de Crédito al Cliente (NCC) se debe informar el Motivo de Cancelación, uno de estos motivos es el 01 - Comprobante emitido con errores con relación, el cual aplica para cuando el Documento cuyo Comprobante Fiscal Digital por Internet (CFDI) contiene un error en la Clave del Producto, Valor Unitario, Descuento o cualquier otro dato, por lo que se debe reexpedir. En este caso, primero se sustituye el documento y cuando se solicita la cancelación, se incorpora el UUID del Documento que sustituye al cancelado.

Lo anterior implica que se debe generar un nuevo Documento cuando aún no se cancela el documento que será reemplazado, sin embargo, con el funcionamiento actual del sistema existen las siguientes limitantes que impiden realizar este proceso: 

Si se requiere Cancelar una Factura de Venta (NF) para la cual se utilizó un Tipo de Entrada/Salida (TES) que afecta a stock, es decir, el campo Act. Stock (F4_ESTOQUE) con valor S - Si, no se puede generar la nueva Factura de Venta (NF) por que el stock sigue ocupado por la Factura de Venta (NF) que se pretende cancelar.

03. SOLUCIÓN

Se realizaron los siguientes ajustes a las siguientes rutinas:

Cancelación CFDI (FISA817):

En la función que Genera .INI y .Bat para consumo de WS de solicitud cancelación o consulta status (ProcesoWS), se realiza agrega un nuevo parámetro que indica si se realiza la cancelación automática. Se realizan ajustes para que cuando el usuario seleccione el motivo de cancelación 01 - Compr. Emitido c/errores c/relac. para un documento, este se anule dentro del sistema protheus y no mande la solicitud de cancelación al SAT.

Se agrega una nueva función F817CanMot que permite detonar la solicitud de cancelación para los documentos pendientes para la cancelación.

Dentro de la definición del menú de la rutina(MenuDef) se agrega una nueva opción llamada Solic. Canc. Pendientes la cual manda llamar a la función F817CanMot.

Se agrega la función F817ValDocSus que valida si el documento ya fue informado como documento a sustituir para la cancelación.

Funciones generales de documentos fiscales (LOCXFUNA):

Se realizaron ajustes en la función que genera el nodo cfdi:CfdiRelacionados (fGetFolRel) para que al leer el campo de UUID Relacs (F1_UUIDREL/F2_UUIDREL) cuando son varios UUID se tome como separador el salto de línea y si se informó el documento a sustituir, es decir, se informaron los campos Serie Sust. (F1_SERMAN/F2_SERMAN) y No. Doc Sust (F1_DOCMAN/F2_DOCMAN) se genere un nodo adicional de cfdi:CfdiRelacionados donde el atributo TipoRelacion sea 04 de Sustitución de los CFDI Previos, tomando el UUID del campo UUID Doc. (F3_CNATREC) de la tabla SF3 - Libros Fiscales.

Notas Fiscales (LOCXNF):

Se modificó la función de exclusión de Notas Fiscales (LocxDelNF) para realizar llamado a la función que realiza el marcado del registro del documento (NF,NDC,NCC) cuando se Anulas los documentos (LxActSF3) actualizando los campos Motivo Canc. (F3_MOTIVO), Status Cance (F3_STATUS), UUID Doc. (F3_CNATREC) y Nom. XML Anu (F3_CODNFE).

Se ajustó la función que relaciona documentos desde la acción Doc Orig (LxDocOri) para llenar el campo UUID Relacs (F1_UUID) utilizando el separador de salto de línea para cuando existe más de un UUID Relacionado (para que la funcionalidad para versión de CDFI 4.0 aplique como lo hace la versión de CFDI 3.3 y el ajuste aplica para la versión Factura de la acción Doc Orig)

Funciones Genéricas para Documentos Fiscales (LOCXNF2):

Se eliminan las funciones que validaba los datos del campo UUID Relacs (ValUUIDRel/LxVldF3I) ya que no se utilizarán porque se deje funcionalidad de llenado del campo F1_UUIDRE/F2_UUIDREL para versión CFDI 4.0 como lo hace para la versión CFDI 3.3. 

Se modificó la función que valida el Tipo de Relación CFDI y Uso CFDI (ValRetSat) para que para Factura de Venta (NF), Nota de Débito al Cliente (NDC) y Nota de Crédito al Cliente (NCC) no se permita informar el valor 04 en el campo Relacion CFD (F1_RELSAT/F2_RELSAT).

Funciones Genéricas para Documentos Fiscales para México (LOCXMEX):

En la función que agrega campos en el encabezado de Notas Fiscales para el país México (LxCposMex) se activaron los campos Serie Sust. (F2_SERMAN) y No. Doc Sust (F2_DOCMAN) para Facturas de Venta (NF) y Nota de Débito al Cliente (NDC), se activaron los campos Serie Sust. (F1_SERMAN) y No. Doc Sust (F1_DOCMAN) para Nota de Crédito al Cliente (NCC), adicional se dejó activado el campo Relacion CFD (F2_UUIDREL) para Facturas de Venta (NF) y Nota de Débito al Cliente (NDC) para versión de CFDI 4.0.

Se creo la función que realiza el marcado del registro del documento (NF,NDC,NCC) cuando se Anulanlos documentos (LxActSF3) pero no se realiza la solicitud de Cancelación SAT actualizando los campos Motivo Canc. (F3_MOTIVO), Status Cance (F3_STATUS), UUID Doc. (F3_CNATREC) y Nom. XML Anu (F3_CODNFE).

Se creó la función LxVDocSuc() para realizar las siguiente validaciones al informar los campos Serie Sust. (F1_SERMAN/F2_SERMAN) y No. Doc Sust (F1_DOCMAN/F2_DOCMAN):

Timbrado CFDI (FISA800):

Se creó la función F800SolCan() para realizar la solicitud de Cancelación ante el SAT de los documentos que solo fueron anulados en Protheus (Campos F3_STATUS igual a 'S') pero no se realizó la solicitud de cancelación SAT con Motivo de Cancelación 01, informando el final del proceso el folio del nuevo documento que fue timbrado y el folio del documento que fue cancelado ante el SAT.

Funciones Genéricas para Documentos Fiscales (SIGACUS):

Se realizaron ajustes en la función F4NfOri() para que para versión de CFDI 4.0 no se solicite llenar el campo Relacion CFD (F1_RELSAT) para cuando se ejecuta la acción Doc Orig al incluir una Nota de Crédito al Cliente (NCC) para la opción ítem, y al llenar el campo de UUID Relacs (F1_UUIDREL) no se llene con el UUID de l factura que se relaciona sin anteponer el Tipo de Relación.



Realizar un respaldo del repositorio del ambiente (archivo .rpo).

Aplicar el parche que fue generado para la issue DMINA-15012.

Desde el módulo Configurador (SIGACFG) realizar las configuraciones al Diccionario de Datos de acuerdo a lo definido en la sección 04 - INFORMACIÓN ADICIONAL.

Cancelación ante SAT de Factura de Venta (NF) con Motivo de Cancelación 01 - Comprobante emitido con errores con relación:

  1. En el módulo de Facturación (SIGAFAT) ir al menú Archivos | Facturación | Facturaciones (MAT467N)
  2. Incluir y Timbrar el CFDI de una Factura de Venta (NF).
  3. En el módulo de Facturación (SIGAFAT) ir al menú Archivos | Facturación | Cancelación CFDI (FISA817)
  4. En los parámetros para visualizar la Factura, indicando en la pregunta ¿Tipo de Documento? con la opción Factura.
  5. Seleccionar la Factura de Venta (NF) que fue creada y timbrada previamente, ejecutar la acción Act. Status.
  6. Validar que la Factura sea Cancelable con o sin aceptación.
  7. Seleccionar de nueva cuenta la Factura de Venta (NF), y ejecutar la acción Cancelar.
  8. En la pantalla "Motivo baja" informar en el campo Motivo cancelación la opción 01 - Compr. Emitido c/errores c/relac., presionar Confirmar.
  9. Confirmar que se realice la anulación de la Factura, teniendo en cuenta que la solicitud de Cancelación ante el SAT no será realizada.
  10. En el módulo de Facturación (SIGAFAT) ir al menú Archivos | Facturación | Facturaciones (MAT467N)
  11. Incluir una nueva Factura de Venta (NF).
  12. En el encabezado informar en los campos Serie Sust. (F2_SERMAN) y Núm. Doc. Sust. (F2_DOCMAN) la Factura que fue anulada en Protheus pero no fue Cancelada ante el SAT.
  13. Presionar Confirmar para guardar la Factura.
  14. Confirmar la generación y timbrado del Comprobante Fiscal Digital por Internet (CFDI), validar que se haya timbrado la nueva Factura y que se haya Cancelado ante el SAT la Factura a la que se sustituye.

Cancelación ante SAT de Nota de Débito al Cliente (NDC) con Motivo de Cancelación 01 - Comprobante emitido con errores con relación:

  1. En el módulo de Facturación (SIGAFAT) ir al menú Archivos | Facturación | Generac. de Notas de Crédito y Débito (MAT465N)
  2. Incluir y Timbrar el CFDI de una Nota de Débito al Cliente (NDC).
  3. En el módulo de Facturación (SIGAFAT) ir al menú Archivos | Facturación | Cancelación CFDI (FISA817)
  4. En los parámetros para visualizar la Nota de Débito, indicando en la pregunta ¿Tipo de Documento? con la opción Nota de Débito.
  5. Seleccionar la Nota de Débito al cliente (NDC) que fue creada y timbrada previamente, ejecutar la acción Act. Status.
  6. Validar que la Nota de Crédito sea Cancelable con o sin aceptación.
  7. Seleccionar de nueva cuenta la Nota de Débito (NF), y ejecutar la acción Cancelar.
  8. En la pantalla "Motivo baja" informar en el campo Motivo cancelación la opción 01 - Compr. Emitido c/errores c/relac., presionar Confirmar.
  9. Confirmar que se realice la anulación de la Nota de Débito, teniendo en cuenta que la solicitud de Cancelación ante el SAT no será realizada.
  10. En el módulo de Facturación (SIGAFAT) ir al menú Archivos | Facturación | Generac. de Notas de Crédito y Débito (MAT465N)
  11. Incluir una nueva Nota de Débito (NDC).
  12. En el encabezado:
    • Informar el campo Relación CFD (F2_RELSAT) con valor 02 - NOTA DE DÉBITO DE LOS DOCUMENTOS RELACIONADOS.
    • Informar en los campos Serie Sust. (F2_SERMAN) y Núm. Doc. Sust. (F2_DOCMAN) la Nota de Débito que fue anulada en Protheus pero no fue Cancelada ante el SAT.
    • El campo UUIDRelacs (F2_UUIDREL) se deben informar de manera manual los UUID de las Facturas de Venta a las que afecta la Nota de Débito  Sin se van a relacionar más de un UUID es necesario hacer salto de línea por UUID.
  13. Presionar Confirmar para guardar la Nota de Débito.
  14. Confirmar la generación y timbrado del Comprobante Fiscal Digital por Internet (CFDI), validar que se haya timbrado la nueva Nota de Débito y que se haya Cancelado ante el SAT la Nota de Débito a la que se sustituye.

Cancelación ante SAT de Nota de Crédito al Cliente (NCC) con Motivo de Cancelación 01 - Comprobante emitido con errores con relación:

  1. En el módulo de Facturación (SIGAFAT) ir al menú Archivos | Facturación | Generac. de Notas de Crédito y Débito (MAT465N)
  2. Incluir y Timbrar el CFDI de una Nota de Crédito al Cliente (NDC).
  3. En el módulo de Facturación (SIGAFAT) ir al menú Archivos | Facturación | Cancelación CFDI (FISA817)
  4. En los parámetros para visualizar la Nota de Crédito, indicando en la pregunta ¿Tipo de Documento? con la opción Nota de Crédito.
  5. Seleccionar la Nota de Crédito al cliente (NCC) que fue creada y timbrada previamente, ejecutar la acción Act. Status.
  6. Validar que la Nota de Crédito sea Cancelable con o sin aceptación.
  7. Seleccionar de nueva cuenta la Nota de Crédito (NCC), y ejecutar la acción Cancelar.
  8. En la pantalla "Motivo baja" informar en el campo Motivo cancelación la opción 01 - Compr. Emitido c/errores c/relac., presionar Confirmar.
  9. Confirmar que se realice la anulación de la Nota de Débito, teniendo en cuenta que la solicitud de Cancelación ante el SAT no será realizada.
  10. En el módulo de Facturación (SIGAFAT) ir al menú Archivos | Facturación | Generac. de Notas de Crédito y Débito (MAT465N)
  11. Incluir una nueva Nota de Crédito (NCC).
  12. En el encabezado:
    • Informar el campo Relación CFD (F1_RELSAT) con valor 01 - NOTAS DE CRÉDITO DE DOCUMENTOS RELACIONADOS o 03 - DEVOLUCIÓN DE MERCANCÍAS SOBRE FACTURAS O TRASLADOS PREVIOS.
    • Informar en los campos Serie Sust. (F1_SERMAN) y Núm. Doc. Sust. (F1_DOCMAN) la Nota de Crédito que fue anulada en Protheus pero no fue Cancelada ante el SAT.
    • El campo UUIDRelacs (F1_UUIDREL) se deben informar de los UUID de las Facturas de Venta a las que afecta la Nota de Crédito.  Sin se van a relacionar más de un UUID es necesario hacer salto de línea por UUID (Está acción se realiza de manera automática usar la acción Doc Orig que se encuentra en Otras acciones)
  13. Presionar Confirmar para guardar la Nota de Crédito.
  14. Confirmar la generación y timbrado del Comprobante Fiscal Digital por Internet (CFDI), validar que se haya timbrado la nueva Nota de Crédito y que se haya Cancelado ante el SAT la Nota de Crédito a la que se sustituye.


04. INFORMACIÓN ADICIONAL


Preguntas en el archivo  SX1 - Preguntas
Grupo: F817CAN


Orden

Título

Tipo

Tamaño

Decimal

Objeto

Consulta estándar

01¿Serie?C30GetDOCSUS
02¿Número de documento?C20

0

Get

 

 Consulta Estándar en el archivo SXB – Consulta Estándar:


Alias

Tipo

SecuenciaColumnaDescripciónContenido

DOCSUS

1

01DBDocumento SustituyeSF3

DOCSUS

2

0105Serie Fact. + Factur

DOCSUS

4

0101SerieF3_SERIE
DOCSUS40102Número Documento       F3_NFISCAL
DOCSUS40103ClienteF3_CLIEFOR
DOCSUS40104TiendaF3_LOJA
DOCSUS40105UUIDF3_CNATREC
DOCSUS501

SF3->F3_SERIE
DOCSUS502

SF3->F3_NFISCAL
DOCSUS601

F3_TIPOMOV ==  "V" .And. F3_STATUS == "S" .And. F3_ESPECIE == cEspecie


Configurar los siguientes campos en la tabla SF1 - Encabezado de Fact. de Entrada:


CampoContenido
CampoF1_SERMAN
TipoC - Caracter
Tamaño3
Decimal0
Formato@!
ContextoReal
PropiedadModificar
Tit. EspañolSerie Sust.
Desc. EspañolSerie del Doc. Sustituye 
ObligatorioNo
UsadoSi
Exhibe en BrowseNo
Help

Indica la Serie del Documento que sustituye a un documento que será cancelado ante el SAT. Al informarse este campo será generado en automático un nodo cfdi:CfdiRelacionados donde el atributo TipoRelacion sea 04 (Sustitución de los CFDI Previos).

CampoContenido
CampoF1_DOCMAN
TipoC - Caracter
Tamaño20
Decimal0
Formato@!
Condición

LxVDocSus(M->F2_SERMAN, M→F2_DOCMAN)

ContextoReal
PropiedadModificar
Tit. EspañolNo. Doc Sust
Desc. EspañolNo. de Doc. Sustituye
ObligatorioNo
UsadoSi
Exhibe en BrowseNo
Help

Indica la Número del Documento que sustituye a un documento que será cancelado ante el SAT. Al informarse este campo será generado en automático un nodo cfdi:CfdiRelacionados donde el atributo TipoRelacion sea 04 (Sustitución de los CFDI Previos).


Configurar los siguientes campos en la tabla SF2 - Encabezado de Fact. de Salida:


CampoContenido
CampoF2_SERMAN
TipoC - Caracter
Tamaño3
Decimal0
Formato@!
ContextoReal
PropiedadModificar
Tit. EspañolSerie Sust.
Desc. EspañolSerie del Doc. Sustituye 
ObligatorioNo
UsadoSi
Exhibe en BrowseNo
Help

Indica la Serie del Documento que sustituye a un documento que será cancelado ante el SAT. Al informarse este campo será generado en automático un nodo cfdi:CfdiRelacionados donde el atributo TipoRelacion sea 04 (Sustitución de los CFDI Previos).

CampoContenido
CampoF1_DOCMAN
TipoC - Caracter
Tamaño20
Decimal0
Formato@!
Condición

LxVDocSus(M->F1_SERMAN, M->F1_DOCMAN)

ContextoReal
PropiedadModificar
Tit. EspañolNo. Doc Sust
Desc. EspañolNo. de Doc. Sustituye
ObligatorioNo
UsadoSi
Exhibe en BrowseNo
Help

Indica la Número del Documento que sustituye a un documento que será cancelado ante el SAT. Al informarse este campo será generado en automático un nodo cfdi:CfdiRelacionados donde el atributo TipoRelacion sea 04.


Configurar los siguientes campos en la tabla SF3 - Libros Fiscales:


CampoF3_STATUS
TipoC - Caracter
Tamaño1
Decimal0
Formato@!
ContextoReal
PropiedadModificar
Tit. EspañolStatus Cance
Desc. EspañolStatus de la Cancelación
ObligatorioNo
UsadoSi
Exhibe en BrowseNo
Help

Indica si el documento fue a Anulado en Protheus y está pendiente de solicitud de Cancelación ante el SAT. ('S' es Si y vacío es No).

CampoF3_CODNFE
TipoC - Caracter
Tamaño30
Decimal0
Formato@!
ContextoReal
PropiedadModificar
Tit. EspañolNom. XML Anu
Desc. EspañolNombre de XML Anulado
ObligatorioNo
UsadoSi
Exhibe en BrowseNo
Help

Indica si nombre del archivo XML del documento que fue a Anulado en Protheus y está pendiente de solicitud de Cancelación ante el SAT. 

CampoF3_MOTIVO
TipoC - Caracter
Tamaño2
Decimal0
Formato@!
ContextoReal
PropiedadModificar
Tit. EspañolMotivo Canc.
Desc. EspañolMotivo de Cancelación
ObligatorioNo
UsadoSi
Exhibe en BrowseNo
Help

Indica el motivo de Cancelación del documento fiscal de acuerdo al catálogo de Motivos de cancelación definido por el SAT. 

CampoF3_CNATREC
TipoC - Caracter
Tamaño36
Decimal0
Formato@!
ContextoReal
PropiedadModificar
Tit. EspañolUUID Doc.
Desc. EspañolUUID Doc. Anulado
ObligatorioNo
UsadoSi
Exhibe en BrowseNo
Help

Indica el UUID del documento fiscal que fue anulado pero que se tiene pendiente la Solicitud de Cancelación ante el SAT. 





05. ASUNTOS RELACIONADOS