Árvore de páginas

Versões comparadas

Chave

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

01. DATOS GENERALES


Producto

Solucoes_espanhol
SolucaoTOTVS Backoffice

Línea de producto: 

Linhas_totvs_espanhol
LinhaLínea Protheus

Segmento:

Segmentos_totvs_espanhol
SegmentoBackoffice

Módulo:SIGAFAT - Facturación 
Función:
RutinaNombre TécnicoFecha
LOCXNFFunciones genéricas para Notas Fiscales
16
19/04/2024
LOCXNF2Notas Fiscales16/04/2024
LOCXMEXFunciones Genéricas para Documentos Fiscales para México
16
19/04/2024
FISA817Cancelación CFDI
16
19/04/2024
TIPODOCClase TipoDoc para validaciones en modelos de documentos16/04/2024
INPUTFIELDSALLGeneración de estructuras para campos de entradas16/04/2024
FISA800Timbrado CFDI16/04/2024
LOCXFUNAFunciones Genéricas de Documentos Fiscales.16/04/2024
País:México
Ticket:
N/A
No aplica
Requisito/Story/Issue (informe el requisito vinculado):DMINA-22522


02. SITUACIÓN/REQUISITO

Realizar el ajuste temporal a la rutina que actualiza el status de la factura para poder simular en un ambiente de pruebas todo el proceso de cancelación de Factura de facturas Venta fuera de periodo.


03. SOLUCIÓN

...

  • En la rutina de Cancelación CFDI (FISA817) se realizan las siguientes modificaciones:
    • En la función ProcesoWS() se agrega una validación que identifica si la factura que se está consultando esta fuera de periodo (emitida dentro del mismo año, con mes de emisión menor al mes de cancelación), de ser así, la factura es marcada mediante el array aRegs.
    • En la función ActualizaDoc() se agrega una validación que identifica si el documento que está siendo consultado esta fuera de periodo, de ser así, el documento es marcarlo con estatus cancelable sin aceptación.

      Nota

      Los cambios realizados en la rutina FISA817 son exclusivos para éste el proyecto piloto.

  • En la rutina de Funciones Genéricas de Documentos Fiscales (LOCXFUNA) se realizan las siguientes modificaciones:
    • En la función LxChkNumNF() se asigna una validación para identificar si el sistema está en transacción utilizando la función InTransact() y proteger la llamada a la función MsRUnLock() para evitar errores.

      Informações

      Las rutinas indicadas en el presente documento técnico fueron actualizadas con las siguientes versiones de la branch Master:

      RutinaChangeSet
      LOCXNF223421
      LOCXNF2222478
      LOCXMEX228887
      FISA817197472
      TIPODOC220728
      INPUTFIELDSALL228691
      FISA800193237
      LOCXFUNA219918


      Las rutinas finales se encuentran en la branch de innovación (/Inovacao/projetos_areas/Localizacoes/Materiais/CANCEL_FAC_PILOTO

...

Totvs custom tabs box
tabsPaso 01, Paso 02, Paso 03, Paso 04Configuraciones 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-22522.
  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 la configuración de la Cancelación de la Factura Electrónica fuera de periodo para México: DT Cancelación de Factura Electrónica fuera de periodo MEX
  6. Realizar las siguientes modificaciones al archivo de configuración FATSMEX.INI: 
    Dentro delapartado [XXX INICIALIZACION] agregar las líneas que se indican en color verde y sustituir las líneas que se indican en color azul.

    Informações

    [XXX INICIALIZACION]
    (PRE) SD2->(DbSetOrder(1))
    (PRE) SB1->(DbSetOrder(1))
    (PRE) SYA->(DbSetOrder(1))
    (PRE) SC6->(DbSetOrder(1))
    (PRE) SE4->(DbSetOrder(1)) 
    (PRE) CTO->(DbSetOrder(1)) 
    (PRE) SAH->(DbSetOrder(1)) 
    (PRE) _aTotal[009] := SuperGetMV("MV_CFDICPG", .F., "")
    (PRE) _aTotal[010] := FindFunction("zh_FechaHoraUTC") .And. !Empty(_aTotal[009])
    (PRE) _aTotal[011] := FindFunction("LxFunaCaPo")
    (PRE) _aTotal[094] := ""
    (PRE) _aTotal[095] := ""
    (PRE) _aTotal[033] := ""
    (PRE) _aTotal[034] := ""
    (PRE) _aTotal[035] := ""
    (PRE) _aTotal[036] := 0
    (PRE) _aTotal[037] := 0
    (PRE) _aTotal[038] := 0
    (PRE) _aTotal[039] := SuperGetMV("MV_CFDIEXP",.F.,.F.)
    (PRE) _aTotal[040] := date() - 7
    (PRE) _aTotal[075] := Alltrim(SM0->M0_NOMECOM)
    (PRE) _aTotal[076] := ((_aTotal[039] .And. !Empty(SF2->F2_TIPOPE)) .Or. SF2->(ColumnPos("F2_TPCOMPL")) > 0 .And. AllTrim(SF2->F2_TPCOMPL)=="S") .And. Alltrim(SF2->F2_TIPODOC) == "21"
    (PRE) IIf(_aTotal[010],_aTotal[096] := zh_FechaHoraUTC(Alltrim(_aTotal[009]),Alltrim(SM0->M0_CEPENT),IIF(SF2->F2_EMISSAO <_aTotal[040], DATE(), SF2->F2_EMISSAO  ),SF2->F2_HORA),"")
    (PRE) IIf(!_aTotal[010],_aTotal[096] := DtoS(IIF(SF2->F2_EMISSAO <_aTotal[040], DATE(), SF2->F2_EMISSAO)),"")
    (PRE) IIf(!_aTotal[010],_aTotal[096] := Left(_aTotal[096],4) + "-" + Substr(_aTotal[096],5,2)+ "-" + Right(_aTotal[096],2),"")
    (PRE) IIf(!_aTotal[010],_aTotal[096] += "T" + SF2->F2_HORA,"")
    (PRE) _aTotal[097] := {"SD2",""}

    Nota

    Los cambios realizados en el archivo de configuración FATSMEX.INI son exclusivos para éste el proyecto piloto.


  7. Contar con Facturas timbradas y que se encuentren fuera del periodo actual (emitidas dentro del mismo año, con mes de emisión menor al mes de cancelación). Ejemplo:

    • Cambiar la fecha del sistema Protheus con la fecha 01/03/2024.
    • Dar de alta una Factura de Salida y timbrarla.
    • Cambiar la fecha del sistema Protheus con la fecha actual.


Totvs custom tabs box items
defaultno
referenciapaso2

Cancelación de una Factura de Venta fuera de periodo con estatus  “Cancelable sin aceptación” y Motivo de Cancelación diferente a 01.

  • Este proceso canela una Factura de Venta en el sistema con la generación de Nota de Crédito de Cancelación y de un Recibo de Cobro de 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 la Factura de Venta (NF) previamente timbrada y que se encuentra fuera de periodo (Factura generada en las precondiciones)
    • Dar clic en el botón Act. Status.
      Image Added

    • Confirmar la consulta de estado del documento .

      Los siguientes campos muestran valores de ejemplo para proceder a la cancelación de una Factura que se emitió en un periodo anterior a la fecha en que se desea cancelar, por ejemplo octubre/2023, la factura tiene estatus "Cancelable con aceptación".

      y verificar el log.
      Image AddedStatus cancelación CFDI à F2_FLFTEX = '0'
      Es cancelable con aceptación F2_ESCANC = '1'
      Fecha de Timbrado F2_FECTIMB = '20230703'
      Fecha de Emisión Factura F2_EMISSAO = '20230703'

    • Validar que el documento tenga el estatus "Cancelable sin aceptación".
    • Seleccionar nuevamente la Factura de Venta (NF) que fue consultada.
    • Dar clic en el botón Cancelar.
      Image Added

    • Confirman la continuación de la Solicitud de Cancelación.
    • En la pantalla Motivo Baja:
      • Informar el campo Motivo "02 - Comprobante emitido con errores sin 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 Crédito de Cancelación con serie "NCA" y un Recibo de Cobro que servirá para compensar la Factura con la Nota de Cancelación.
        Image RemovedImage Added

      • 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 de Recibo de Cobro.
          Image Removed
          Image Added

      • Confirmar la generación de Recibo.
      • Una vez finalizado el proceso de cancelación revisar el log.
        Image Removed
        Image Added

        El log indica que se ha generado la Nota de Cancelación (NCA) y el Recibo de Compensación.

        La solicitud es aceptada y se realiza la cancelación del documento ante el SAT, como su estatus inicial era  “Cancelable sin aceptación” la solicitud no requiere aceptación. 

        La Factura puede cambiar a otros estatus dependiendo la respuesta que retorne el SAT.

        Image Removed

        El estatus de la Factura cambia a "Cancelada fuera de periodo".


        Image Added

      • 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 de estatus a “Cancel. Fuera de Periodo”.
        Image Added

      • Seleccionar la Factura e intentar borrarla o anularla. 

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



        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.

  •  
    •  4.2 Nota de Crédito 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”.
        Image Removed
        Image Added

      • Visualizar la Nota de Cancelación (ubicar con el número de Nota de Cancelación informado en el log de la cancelación) y validar de manera general que toda la información este relacionada a la Factura cancelada.

        Image Removed


        Image Added

        La generación de la Nota 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.

4.3

Recibo de Cobro de Compensación.

      • En el módulo de Financiero(SIGAFIN) ir al menú Actualizaciones |Cuentas por Cobrar | Totvs Recibo (FINA998)
      • Buscar el Recibo (ubicar con 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).
        Image Removed
        Image Added


04. INFORMACIÓN ADICIONAL

No aplica.


Card documentos
InformacaoUtilice este box para resaltar información relevante y/o de destaqueLa presente solución aplica para versión 12.1.2210 o superior, y es necesario tener activa la funcionalidad de Facturación Electrónica para el país México. Solución exclusiva para el proyecto piloto.
Titulo¡IMPORTANTE!


05. ASUNTOS RELACIONADOS