Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

    • Se asigna la constante dfCanFper = 13 para identificar la posición dentro del array aRegs donde estará contenido un valor de tipo booleano que servirá para identificar que el documento cancelado generó Nota de Cancelación (NCA) y Recibo de Cobro.
    • Se asigna la constante dfMsgCan = 14 para identificar la posición dentro del array aRegs donde estará contenido el valor de tipo string que servirá para almacenar los mensajes generados por el proceso de cancelación fuera de periodo.
    • Se asigna la constante dfFraPer = 15 para identificar la posición dentro del array aRegs donde estará contenido un valor de tipo booleano que servirá para identificar si el documento a cancelar se encuentra fuera de periodo.
    • Se modifica la constante dfLongitud, se asigna el número 15 para indicar el número de elementos contenidos en el array aRegs.
    • En la función F817CanMot() se inicializan los elementos del array aRegs relacionados a las posiciones almacenadas en las constantes dfCanFper, dfMsgCan y dfFraPer.
    • En la función F817VMark() se inicializan los elementos del array aRegs relacionados a las posiciones almacenadas en las constantes dfCanFper, dfMsgCan y dfFraPer, también se asigna la función lxMxExRcbo() para detectar si el documento seleccionado fue generado fuera de periodo (Contiene documentos NCA y Recibo de Cobro).
    • En la función F817Cores() se asignan los estatus "7 - Cancelada Fuera de Periodo" (Color Azul Claro) y "8 – Pendiente de Acuse" (Color Verde oscuro).
    • En la función F817Leyend() se asignan las leyendas "Cancelada Fuera de Periodo" (Color Azul Claro) y "Pendiente de Acuse" (Color Verde oscuro).
    • En la función F817Cancel() se asigna el estatus 8 para que los documentos con éste estatus puedan solicitar cancelación.
    • Se crea la función lxMxDcFrPr() para validar si el documento se encuentra fuera de periodo, también se genera un mensaje de confirmación donde se le informa al usuario el proceso que será realizado, si es confirmado, se realiza la generación del documento NCA y del Recibo de Cobro. El documento será marcado con el estatus “Cancelada fuera de periodo - Pendiente de acuse" (F2_FLFTEX = 8).
    • En la función ActualizaDoc() se valida que los documentos que están fuera de periodo, no deben ser borrados y si su motivo de cancelación es igual a 01 se ejecuta la función LxActSF3() para inicializar los campos Motivo Canc. (F3_MOTIVO) y Status Cance (F3_STATUS) de la tabla Libros Fiscales (SF3). También se ejecuta la función  lxMxActEst() para realizar la actualización de los estatus en la tabla Libros Fiscales (SF3). Si la cancelación es exitosa, el documento será marcado con el estatus “Cancelada fuera de periodo" (F2_FLFTEX = 7).
    • Se crea la función lxMxActEst() para actualizar los estatus de la tabla Libros Fiscales (SF3), dependiendo del código de respuesta de la cancelación o consulta.
    • En la función ImprimeLog() se asignan los mensajes contenidos en el elemento del array aRegs relacionado a la posición almacenada en la constante dfMsgCan.
    • Se crea la función LxMxGnraNCA() para realizar la generación de la Nota de Cancelación (NCA) y del Recibo de Cobro.
    • Se crea la función LxMxGnraRcb() para realizar la generación del Recibo de Cobro mediante rutina automática de TOTVS Recibo (FINA887).
    • Se crea la función lxMxGerNum() para generar el número de documento (extraído de la tabla SX5) que será asignado a la Nota de Crédito de Cancelación (NCA).
    • Se crea la función lxMxNmDcRc() para generar una ventana que permita al usuario agregar la Serie y el Número al Recibo de cobro.
    • Se crea la función lxMxSerRec() para validar la Serie y obtener el número de Recibo de cobro (extraído de la tabla SX5) cuando el parámetro MV_SERREC = .T.
    • Se crea la función lxMxNumRec() para validar el número de Recibo de Cobro.
    • Se crea la función lxMxLdNCC() para cargar los valores del encabezado (aCabs) e ítems (aItens) que serán enviados mediante rutina automática (MATA465N) para la generación de la Nota de Cancelación (NCA).
    • Se crea la función lxMxExRcbo() para verificar si existe un Recibo de Cobro relacionado a la Factura, si éste existe, no se genera la Nota de Cancelación ni el Recibo de Cobro del proceso de cancelación.
    • Se crea la función lxMxDocMt01() para obtener el Folio Fiscal (UUID) de los documentos con Solicitud de Cancelación previa (Motivo 01) y que quedaron con estatus 2-Rechazada, 6-No Cancelable u 8-Pendiente de acuse.  Si el documento contiene estatus 8 (que generó documento NCA y Recibo de Cobro), verifica si se actualizó la tabla de Libros Fiscales (SF3).
    • Se crea la función lxMxDocPen() para validar si el documento a sustituir se encuentra relacionado a un documento timbrado y obtiene su Folio Fiscal (UUID).
    • Se crea la función lxMxDocPer() para filtrar las Facturas que serán mostradas en la consulta especifica DOCSUS (SXB).
    • En la función ProcesoWS() se realizan las siguientes modificaciones:
      • Se agrega la función lxMxDcFrPr() para ejecutar el proceso de cancelación de documentos fuera de periodo (Nota de Cancelación NCA y Recibo de Cobro).
      • Se agrega la función lxMxDocMt01() para obtener el Folio Fiscal (UUID) de los documentos con solicitud previa (Motivo 01)
      • Se agrega la función lxMxDocPen() para validar que el documento con Motivo 01 esté relacionado a un documento que lo sustituye y éste se encuentre timbrado para obtener el Folio Fiscal (UUID).
    • En la rutina Timbrado masivo de CFDI (FISA800) se realizan las siguientes modificaciones:
      • En la función SelecSF2() se excluyen los documentos de tipo NCA (Nota de Cancelación) para que no sean mostrados en la rutina de Timbrado CFDI (FISA800).
      • En la función F800SolCan() se inicializan los elementos 13, 14 y 15 del array aRegs que pertenecen a las posiciones utilizadas por el proceso de cancelación fuera de periodo, también se agrega la función lxMxActSts() para actualizar el estatus de la Factura.
      • Se crea la función lxMxActSts() para actualizar el Estatus (F2_FLFTEX) y la Fecha de Cancelación (F2_FECCANC) del documento a sustituir. Aplica solo para documentos con Estatus 8 (Cancelados fuera de periodo con Motivo 01).
      • En la función F800ResCan() se asignan los atributos relacionados al elemento acuse del CFDI cancelado (archivo XML), para obtener la Fecha de Cancelación.
    • En la rutina Funciones de Genéricas de Documentos Fiscales para el país México (LOCXMEX) se realizan las siguientes modificaciones:
      • En la función LxActSF3() se asigna el Estatus 8 para que éste sea considerado en la actualización de la tabla Libros Fiscales (SF3)


Aviso
titleImportante

Con la rutina de Cancelación de CFDI (FISA817) con fecha mayor o igual a 30/10/2024, para activar la funcionalidad de Cancelación Fuera de Periodo y se realice la Generación de Nota de Cancelación - NCA y Recibo de Cancelación se deberá tener configurado el parámetro MV_CANFRPE con el valor lógico .T..

Totvs custom tabs box
tabsCondiciones Previas, Procedimiento de Pruebas
idspaso1,paso2
Totvs custom tabs box items
defaultyes
referenciapaso1
  1. Realizar un respaldo del repositorio (archivo .rpo)
  2. Aplicar el parche correspondiente al issue DMINA-21161.
  3. Validar que las rutinas actualizadas coincidan con las indicadas en la sección 01. Datos Generales del presente Documento Técnico.
  4. Contar con la configuración de la Facturación Electrónica para México: DT Facturación Electrónica para México de Comprobantes Fiscales Digitales por Internet (CFDI) Versión 4.0
  5. Contar con las actualizaciones del diccionario de datos indicadas en la sección 04. Información Adicional del presente Documento Técnico.
  6. Configurar la Serie de la Nota de Cancelación  SIGAFIS | Actualizaciones | Archivos | Contr. Formularios (MATA992).
    - Agregar la serie NCA con especie 4=FCC.
  7. Contar con Facturas timbradas y que se encuentren fuera del periodo actual.
Totvs custom tabs box items
defaultno
referenciapaso2

1. Cancelación de una Factura de Venta fuera del periodo actual con estatus “Cancelable con aceptación” y Motivo de Cancelación igual a 01.

1.1 Cancelación de Factura de Venta en el sistema con generación de Nota de Crédito por Cancelación y Recibo de Cobro por Compensación.

    • En el módulo Facturación (SIGAFAT) ir al menú Actualizaciones | Facturación | Cancelación de CFDI (FISA817).
    • Informar los parámetros necesarios para visualizar Facturas de Venta (NF) timbradas previamente.
    • Seleccionar una Factura de Venta (NF) previamente timbrada y que corresponda a un periodo anterior.
    • Dar clic en el botón Act. Status.
    • Confirmar la continuación con la Consulta de Estado del documento.

    • Validar que el documento tenga el estatus "Cancelable con aceptación".
    • Seleccionar nuevamente la Factura de Venta (NF) que se consultó.
    • Dar clic en el botón Cancelar.
    • Confirman la continuación de la Solicitud de Cancelación.
    • En la pantalla Motivo Baja:
      • Informar el campo Motivo "01 - Comprobante emitido con errores con relación de documento".


    • Después de confirmar el Motivo de Baja, el sistema informa que será ejecutado el proceso de “Cancelación Fuera de Periodo”. En éste proceso se genera una Nota de Cancelación, con Serie "NCA", y un Recibo de Cobro que servirá para compensar la Factura con la Nota de Cancelación.

    • Confirmar la cancelación.

      • Se muestra la ventana de “Generación de Recibo”. En ésta ventana se informan los valores de baja (El saldo de la Factura contra el valor a pagar de la Nota de Cancelación) y se permite asignar la Serie (solo si MV_SERREC = .T.) y el número del Recibo de Cobro.



    • Confirmar la generación de Recibo de Cobro.
    • Una vez finalizado el proceso de cancelación, revisar el log.



      El log indica que se ha generado la Nota de Crédito de Cancelación (NCA) y el Recibo de Cobro de compensación.
      La Factura cambia de estatus a “Cancelada Fuera de Periodo – Pendiente de acuse”, este estatus indica que la Nota de Cancelación y el Recibo de Compensación fueron generados correctamente pero no se ha realizado solicitud de cancelación ante el SAT.




    • Seleccionar nuevamente la Factura y dar clic en el botón Cancelar.

      El sistema indica que para realizar la solicitud primero hay que generar la Factura que va a sustituir a la Factura cancelada.




  •  1.2 Nota de Cancelación. 

    • En el módulo de Facturación (SIGAFAT) ir al menú Actualizaciones | Facturación | Generac. de Notas de Crédito y Débito (MATA465N)
    • En el parámetro "Tipo de Factura" seleccionar la opción “Doc Cancel NCA”.

    • Visualizar la Nota de Cancelación (ubicar con el número de Nota de Cancelación informado en el log de la cancelación).



    • Validar de manera general que toda la información contenida en la Nota de Cancelación esté relacionada a la Factura cancelada.



      Informações

      La generación de la Nota de Crédito de Cancelación (NCA), solo se usará a través de rutina automática, por lo tanto, no tendrá mantenimiento por el usuario ni será transmitida al SAT.



1.3 Recibo de Compensación.

    • En el módulo de Financiero (SIGAFIN) ir al menú Actualizaciones | Cuentas por Cobrar | Totvs Recibo (FINA998)
    • Buscar el Recibo (ubicar el número de Recibo informado en el log de la cancelación).
    • Visualizar el Recibo y validar que cuente con la compensación entre la Factura cancelada y la Nota de Cancelación (NCA):




1.4 Generación de Factura de Venta que sustituye a la Factura cancelada y solicitud de cancelación ante el SAT.

    • En el módulo de Facturación (SIGAFAT) ir al menú Actualizaciones | Facturación | Facturaciones (MAT467N)
    • Incluir una nueva Factura de Venta (NF).
    • 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 que no fue Cancelada ante el SAT.




    • Informar los productos y sus valores.
    • Dar clic en el botón Grabar para guardar la Factura.
    • Confirmar la generación y timbrado del Comprobante Fiscal Digital por Internet (CFDI), validar que se haya timbrado la nueva Factura y que se muestre el mensaje Documento enviado para solicitud de cancelación ante el SAT".

      La Factura que fue sustituida se envía para Solicitud de Cancelación, como su estatus inicial era “Cancelable con aceptación”, debe quedar en "Proceso" hasta que ésta sea aceptada.


      Si la Factura que sustituye no se timbra, no será realizada la solicitud de cancelación de la Factura a sustituir, por lo tanto, para poder realizar la Solicitud de Cancelación, se deberá borrar la Factura que sustituye (la que no se timbró) y crear otra Factura para relacionar nuevamente la factura a sustituir.



1.5 Consulta de estatus ante el SAT de la Factura con estatus "En proceso de cancelación".

    • En el módulo Facturación (SIGAFAT) ir al menú Actualizaciones | Facturación | Cancelación de CFDI (FISA817).
    • Informar los parámetros necesarios para visualizar la Factura de Venta (NF) que fue cancelada previamente.
      La Factura ha cambiado el estatus a “En proceso de cancelación” y queda lista para consultar su estado.



    • Seleccionar la Factura de Venta y dar clic en el botón "Act. Status".

      La Consulta de Estado mediante el botón “Act. Status” no es funcional en ambientes de pruebas. Para obtener resultados esperados se modifica directamente el archivo .xml (se utiliza un pack modificado que indica el momento que debe actualizarse el archivo XML).

    • Una vez finalizado el proceso de consulta, revisar el log.


      La solicitud es aceptada y se realiza la cancelación del documento ante el SAT. La Factura cambia de estatus a Cancelada fuera de periodo”. La Factura puede cambiar a otros estatus dependiendo la respuesta que retorne el SAT.



    • Seleccionar nuevamente la Factura.
      El sistema indica que a Factura ya se encuentra cancelada.


    • En el módulo de Facturación (SIGAFAT) ir al menú Actualizaciones | Facturación | Facturaciones (MAT467N)
    • Revisar el estatus de la Factura cancelada anteriormente.
      La Factura cambia el estatus a “Cancel. Fuera de Periodo”.



    • Seleccionar la Factura e intentar borrarla o anularla. 

    • Validar que se muestre un mensaje indicando que la Factura no se puede borrar.



      Informações

      Las facturas con estatus “Cancel. Fuera de Periodo” y “Cancel. Fuera de Periodo – Pendiente de acuse” no se podrán borrar o anular ya que se encuentran canceladas o en proceso de cancelación.



...

Parámetros en el archivo SX6 – Parámetros:

Agregar Configurar el parámetro MV_SERNCA

Nombre de la Variable

MV_SERNCA

Tipo

Caracter 

Descripción

Serie de la Nota de Cancelación para Docs. Fuera de Periodo.  

Valor Estándar

NCA


Agregar Configurar el parámetro MV_CANFRPE

Nombre de la Variable

MV_CANFRPE

Tipo

Lógico

Descripción

Permite activar = .T. o desactivar = .F. el nuevo proceso de Cancelación de Factura Fuera de Periodo.

Valor Estándar

.T.
Aviso
titleIMPORTANTE
  • Si el parámetro MV_CANFRPE no existe, o existe y
esta
  • está configurado con el valor lógico .F
.,
  • ., NO será utilizado el nuevo proceso de Cancelación Fuera de Periodo, es decir, no se realizará la Generación de Nota de Cancelación - NCA y Recibo de Cancelación.
  • Si el parámetro MV_CANFRPE existe, y está configurado con el valor lógico .T., SI 
no
  • será utilizado el nuevo proceso de Cancelación Fuera de Periodo, es decir, si se realizará la Generación de Nota de Cancelación - NCA y Recibo de Cancelación.
Si el
  • El parámetro MV_CANFRPE
existe y se encuentra configurado con el valor lógico .T., si será utilizado
  •  permitirá desactivar el nuevo proceso de Cancelación de Factura Fuera de Periodo en ambientes que facturan servicios y que no manejan stock ni control de inventarios.



Informações

Paquete de actualización

Los ajustes al Diccionario de Datos estándar, se realizaron en el siguiente paquete de uso interno:

Código: 012836
Descripción: MI - DMINA-21161 FACTURA CANCELACIÓN FUERA DE PERI

...