Árvore de páginas

Versões comparadas

Chave

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

ÍNDICE

  1. Visión general
  2. Ejemplo de utilización
    1. Pre-requisitos
    2. Procedimiento de implementación
  3. Procedimiento de configuración
  4. Procedimiento de Utilización
    1. Anulación de Recibo
  5. Punto de Entrada
  6. Diccionario de Datos

01. VISIÓN GENERAL

Cumplir con la obligación fiscal requerida por el SAT, de acuerdo al Anexo 20 de la Resolución de Miscelánea Fiscal vigente para la emisión del complemento de recepción de pagos incorporado en los Comprobantes Fiscales Digitales por Internet, donde se genera el timbrado e impresión de los documentos generados.

...

En el caso de que no se reciba el pago de la contraprestación al momento de la emisión del comprobante fiscal (pago en parcialidades o diferido), si debe emitir adicionalmente un CFDI de Complemento de recepción de pagos por cada pago que se reciba.

02. EJEMPLO DE UTILIZACIÓN

Pre-requisitos

Versión Protheus 11:

...

  • Realizar la copia de seguridad de la base de datos del producto que ejecutará el compatibilizador (directorio PROTHEUS_DATA\DATA) y de los diccionarios de datos SX (directorio PROTHEUS_DATA_SYSTEM).
  • Los directorios mencionados anteriormente corresponden a la instalación estándar del Protheus, por lo tanto, deben modificarse de acuerdo con el producto instalado en la empresa.
  • Esta rutina debe ejecutarse de modo exclusivo, es decir, ningún usuario debe estar utilizando el sistema.
  • Si los diccionarios de datos tienen índices personalizables (creados por el usuario), antes de ejecutar el compatibilizador, asegúrese de que están identificados por el nickname. Si el compatibilizador necesita crear índices, los agregará a partir del orden original instalado por el Protheus, lo que podrá ocasionar la superposición de índices personalizados, si no están identificados por el nickname.
  • El compatibilizador debe ejecutarse con la Integridad referencial desactivada*.

    Atención

    ¡El siguiente procedimiento debe realizarlo un profesional calificado como Administrador de base de datos (DBA) o su equivalente!

    La activación indebida de la integridad referencial puede modificar drásticamente la relación entre tablas en la base de datos. Por lo tanto, antes de utilizarla, observe atentamente el siguiente procedimiento:

    1.    En el Configurador (SIGACFG), verifique si la empresa utiliza Integridad referencial, seleccionando la opción Integridad/Verificación (APCFG60A).

    2.    Si no hay Integridad referencial activa, se listan en una nueva ventana todas las empresas y sucursales registradas en el sistema y ninguna de estas estará seleccionada. SOLAMENTE en este caso no es necesario ningún otro procedimiento de activación o desactivación de integridad, basta finalizar la verificación y aplicar normalmente el compatibilizador, de acuerdo con las  instrucciones.

    3.     Si la Integridad referencial está activa en todas las empresas y sucursales, se muestra un mensaje en la ventana Verificación de vínculo entre tablas. Confirme el mensaje para que se concluya la verificación, o;

    4.     Si existe Integridad referencial activa en una o más empresas, que no representan la totalidad, se listan en una nueva ventana todas las empresas y sucursales registradas en el sistema y solamente se seleccionarán las que tienen integridad. Anote las empresas y/o sucursales que tienen la integridad activada y reserve esta anotación para posterior consulta en la reactivación (o incluso, entre en contacto con nuestro Help Desk Framework para informarse sobre los archivos que contienen esta información).

    5.    En los casos descritos en los ítems “iii” o “iv”, Y SOLO EN ESTOS CASOS, es necesario desactivar dicha integridad, seleccionando la opción Integridad/ Desactivar (APCFG60D).

    6.     Al desactivar la Integridad referencial, ejecute el compatibilizador, de acuerdo con las instrucciones.

    7.    Después de aplicar el compatibilizador, la Integridad referencial debe reactivarse, SOLAMENTE CUANDO se haya desactivado, por medio de la opción Integridad/Activar (APCFG60). Para ello, tenga a disposición la información de la(s) empresa(s) y/o sucursal(es) que tenía(n) activación de la integridad, selecciónela(s) nuevamente y confirme la activación.

     

    ¡EN CASO DE DUDAS, entre en contacto con el Help Desk Framework!

  1. EMicrosiga Protheus TOTVS SmartClient(si la versión es 10) o ByYou SmartClient (si la versión es 11), digite el UPDMODMI en el campo Programa InicialImportante
    Para que se actualice correctamente el diccionario de datos, asegúrese de que la fecha del compatibilizador sea igual o superior al 26/05/2017.
  2. Haga clic en OK para continuar.
  3. Después de confirmar, aparece una pantalla para seleccionar la empresa en la cual se modificará el diccionario de datos o aparece la ventana para seleccionar el compatibilizador. Seleccione el programa SIGAFIN - Financiero y a continuación "Complemento de Recepción de Pagos".
  4. Al confirmar, se muestra un mensaje de advertencia sobre la copia de seguridad y la necesidad de su ejecución de modo exclusivo.

...

    • Archivo de la llave privada (.PEM)
    • openssl.exe
    • libssl32.dll
    • libeay32.dll
    • SelladoXml.exe
    • QRCode.exe
    • QRCodeLib.dll

03. PROCEDIMIENTO DE CONFIGURACIÓN

CONFIGURACIÓN DE PARÁMETROS

En el Configurador (SIGACFG), acceda a Entornos/Archivos/Parámetros (CFGX017). Configure los parámetros a continuación:

Nombre:

MV_CFDI33

Tipo:

L

Cont. Por.:

.T.

Descripción:

Uso de CFDI versión 3.3

Si el parámetro se encuentra en verdadero:

  • Se generará el complemento de Recepción de Pago.
  • Al seleccionar un documento dentro de Cobros Diversos tendrá que ser un documento Timbrado.
  • No permitirá la anulación de Cobros Diversos que hayan generado Complemento de Recepción de Pago y contengan timbre fiscal digital.


Nombre:

 MV_CFDRECP

Tipo:

C

Cont. Por.:

GetSrvProfString('startpath','')+'\cfd\recPagos\'

Descripción:

CFDI: Complemento Recepción de Pago, ruta de almacén de rec. pagos (\Protheus_data\System\)


El parámetro informará la ruta donde serán generados los archivos XML del Complemento de Recepción de Pagos.

 

Nombre de la Variable

MV_CFDI_ES

Tipo

C

Descripción

CFDI: Lugar de emisión. Recibo Electrónico de Pago CFDI versión 3.3

Valor Estándar

Ejemplo: Queretaro, Qro

El parámetro informara el lugar de emisión del recibo electrónico de pago.


Nombre:

MV_CFDI_AJ

Tipo:

L

Cont. Por.:

.T.

Descripción:

Realiza ajuste de Tipo de Cambio DR

Si el parámetro se encuentra en verdadero:

  • Se realiza un ajuste en el valor del Tipo de Cambio DR.
  • Al realizar un recibo de cobro con una moneda diferente a la del titulo relacionado.
  • Permite el timbrado de los recibos de cobro ajustando el Tipo de Cambio.

NOTA: Para impresión de un logo, el archivo debe de estar guardado en StartPath con el nombre: "LGRL" + CodigoEmpresa (SM0->M0_CODIGO)  + ".BMP", si se requiere por filial "LGRL" + CodigoEmpresa (SM0->M0_CODIGO) + Filial (SM0->M0_CODFIL)  + ".BMP".


Nombre:

MV_CFDREC

Tipo:

N

Descripción:

Permite realizar la generación e impresión de complemento de manera automática.
Vacío o en 0- Pregunta si genera complemento de Pago,
1- No pregunta y SI genera complemento de pago y la impresión (PDF),
2 - No genera complemento y No pregunta.


El comportamiento para timbrado e impresión MV_CFDREC son los siguientes:

- Parámetro no existe, esta vació o contiene valor 0:

  • El sistema muestra mensaje solicitando confirmación para generar el Complemento de Recepción de Pago (XML).
  • El sistema muestra mensaje solicitando confirmación para imprimir el Complemento de Recepción de Pago (PDF).

- Parámetro con valor 1:

  • El sistema generará el Complemento de Recepción de Pago, no mostrara mensaje para solicitar confirmación (XML).
  • El sistema imprimirá el Complemento de Recepción de Pago, no mostrara mensaje para solicitar confirmación (PDF).

- Parámetro con valor diferente de 0 y 1.

  • El sistema NO generará el Complemento de Recepción de Pago, no mostrara mensaje para solicitar confirmación (XML).
  • El sistema NO imprimirá el Complemento de Recepción de Pago, no mostrara mensaje para solicitar confirmación (PDF).


Desde la rutina FINA087A.

...

Caso 1 - Parámetro vacío o valor 0.

  1. Ingresar a la rutina Cobros Diversos en SIGAFIN - Actualizaciones | Cuentas por Cobrar | Cobros Diversos. (FINA087A)
  2. Capturar Encabezado y Forma de Pago.
  3. Seleccionar Cliente.
  4. Seleccionar el documento a Cobrar, el cual puede ser una Factura de VentaNota de Débito para Cliente o Nota de Crédito para Cliente; los cuales deben estar previamente timbrados.
  5. Validar que el sistema solicita confirmación para realizar el proceso de Timbrado para el Comprobante Fiscal (XML) y confirmar el timbrado.
  6. Si el proceso de timbrado fue exitoso, se solicitará la impresión del Complemento de Recepción de Pago.
  7. Validar que el sistema solicita confirmación para realizar el proceso de Impresión para el Comprobante Fiscal (XML) y confirmar la impresión.
  8. Validar que se hayan creado el documento XML y PDF.

Caso 2 - Parámetro valor 1.

  1. Ingresar a la rutina Cobros Diversos en SIGAFIN - Actualizaciones | Cuentas por Cobrar | Cobros Diversos. (FINA087A)
  2. Capturar Encabezado y Forma de Pago.
  3. Seleccionar Cliente.
  4. Seleccionar el documento a Cobrar, el cual puede ser una Factura de VentaNota de Débito para Cliente o Nota de Crédito para Cliente; los cuales deben estar previamente timbrados.
  5. Validar que el sistema solo informe que concluyo el proceso de Timbrado para el Comprobante Fiscal (XML) sin solicitar previamente confirmación.
  6. Si el proceso de timbrado fue exitoso, validar que el sistema informe que el proceso de Impresión para el Comprobante Fiscal (XML) sin solicitar previamente confirmación.
  7. Validar que se hayan creado el documento XML y PDF.

Caso 3 - Parámetro valor diferente de 0 y 1.

  1. Ingresar a la rutina Cobros Diversos en SIGAFIN - Actualizaciones | Cuentas por Cobrar | Cobros Diversos. (FINA087A)
  2. Capturar Encabezado y Forma de Pago.
  3. Seleccionar Cliente.
  4. Seleccionar el documento a Cobrar, el cual puede ser una Factura de VentaNota de Débito para Cliente o Nota de Crédito para Cliente; los cuales deben estar previamente timbrados.
  5. Validar que el sistema no solicite confirmación para realizar el proceso de Timbrado o Impresión para el Comprobante Fiscal.
  6. Validar que no se hayan creado los documentos XML o PDF.

Desde la rutina FINA088.


Caso 1 - Parámetro vacío o valor 0.

  1. Ingresar a la rutina Anula Recibos Diversos en SIGAFIN - Actualizaciones | Cuentas por Cobrar | Anula Recibos Diversos (FINA088).
  2. Seleccionar el Cobro Diversos a realizar el complemento de Recepción de Pago.
  3. Seleccionar la opción "Otras acciones | Timbrar" .
  4. Validar que el sistema solicita confirmación para realizar el proceso de Timbrado para el Comprobante Fiscal (XML) y confirmar el timbrado.
  5. Si el proceso de timbrado fue exitoso, se solicitará la impresión del Complemento de Recepción de Pago.
  6. Validar que el sistema solicita confirmación para realizar el proceso de Impresión para el Comprobante Fiscal (XML) y confirmar la impresión.
  7. Validar que se hayan creado el documento XML y PDF.

Caso 2 - Parámetro valor 1.

  1. Ingresar a la rutina Anula Recibos Diversos en SIGAFIN - Actualizaciones | Cuentas por Cobrar | Anula Recibos Diversos (FINA088).
  2. Seleccionar el Cobro Diversos a realizar el complemento de Recepción de Pago.
  3. Seleccionar la opción "Otras acciones | Timbrar" .
  4. Validar que el sistema solo informe que concluyo el proceso de Timbrado para el Comprobante Fiscal (XML) sin solicitar previamente confirmación.
  5. Si el proceso de timbrado fue exitoso, validar que el sistema informe que el proceso de Impresión para el Comprobante Fiscal (XML) sin solicitar previamente confirmación.
  6. Validar que se hayan creado el documento XML y PDF.

Caso 3 - Parámetro valor diferente de 0 y 1.

  1. Ingresar a la rutina Anula Recibos Diversos en SIGAFIN - Actualizaciones | Cuentas por Cobrar | Anula Recibos Diversos (FINA088).
  2. Seleccionar el Cobro Diversos a realizar el complemento de Recepción de Pago.
  3. Seleccionar la opción "Otras acciones | Timbrar" .
  4. Validar que el sistema no solicite confirmación para realizar el proceso de Timbrado o Impresión para el Comprobante Fiscal.
  5. Validar que no se hayan creado los documentos XML o PDF.

Para mas información de este parámetro, puede consultar el link: https://tdn.totvs.com/x/KTnHG

04. PROCEDIMIENTO DE  UTILIZACIÓN

  1. Dentro del módulo Facturación desde la Opción Facturación (Actualizaciones | Facturación) se genera una Factura. Timbrar la factura generada.
  2. Dentro del módulo Financiero desde la Opción Cobros Diversos (Actualizaciones | Cuentas Por Cobrar) se genera un Cobro Diverso para la Factura generada.
  3. Al confirmar la generación del Recibo, si el parámetro MV_CFDI33  se encuentra en verdadero se mostrará un mensaje preguntando si se desea generar el Complemento de Recepción de Pagos.
  4. Se mostrará un mensaje informando que el archivo XML ha sido generado.
  5. Se preguntará si se desea imprimir el recibo de pago.
  6. Se muestra un mensaje para indicar la generación correcta del documento.
  7. Dentro de la ruta informada en el parámetro MV_CFDRECP se podrá verificar la creación del archivo.
  8. Se verifica el archivo XML generado, en donde se puede ver la sección del timbre fiscal generado.
  9. Intentar anular el recibo, para lo que se genera el help PF088VLDUUID ("Hay título(s) timbrados, no pueden ser borrados”).

NOTA:  En caso de tener configurado el campo "EL_HRPAGO" tendrá la siguiente funcionalidad.

  1. Indicar los datos del pago así como el campo Hora de Pago "EL_HRAPAGO".

    Ejemplo:

    Image Modified

  2. Dentro del XML y PDF se mostrará la hora digitada en el recibo.

    Ejemplo:

    Image Modified

    Image Modified

Para mayor referencia consulte DT Modificación de hora de pago en complemento

Anulación de Recibo

Anula  un recibo cuando el XML ya cuenta con un timbre fiscal. De acuerdo con lo indicado en Guía de llenado:

...

  • Cualquier versión 12 de PROTHEUS.
  •  La anulación de recibos, permite marcar recibos timbrados y no anulados.
  • Al seleccionar la opción Anular, valida que los recibos marcados estén timbrados y que el correspondiente CFDI (archivo XML) sea válido.
  • Al seleccionar la opción Borrar, valida que los recibos marcados estén disponibles, no timbrados.
  • En la opción de Anular:
    • Mediante servicio web del PAC en uso, envia el CFDI con complemento de pago o recibo electrónico, para cancelación.
    • Si un CFDI con complemento de pago o recibo electrónico, no pudo ser cancelado, no proceder con la anulación del recibo en el sistema.
    • Al final del proceso, informa los recibos que fueron anulados satisfactoriamente y también los que no se logró anular.


05. PUNTO DE ENTRADA


Descripción:

Punto de Entrada (PE) para personalizar la impresión del complemento de recepción de pago.

Ubicación:

FISA815 - Complemento de recepción de pago.

Eventos:

Al momento de generar la impresión.

Programa Fuente:

FISA815

Función:

FISA815I()

Sintaxis:

Parámetros:

Nombre

Tipo

Descripción

aRecibos

Arreglo

Se envía arreglo con la información del XML.

aRecibos[1] := Nombre Archivo

aRecibos[2] := Si se logró timbrar el XML

aRecibos[3] := Errores (Si existen)

aRecibos[4] := Arreglo del XML

Retorno: Ninguna

...

Nota: Cuando el PE no existe, el valor por default es Falso (.F.)  para mayor referencia consulte DT_PE_impresion_Complemento_de_Recepcion_de_Pagos_MEX

06. DICCIONARIO DE DATOS

El usuario debe realizar las siguientes actualizaciones al diccionario de datos a través del módulo Configurador de Protheus (SIGACFG).

  1. Creación de Campos en el archivo SX3 – Campos:
    • Tabla SEL - Cobros Diversos :

      Campo

      EL_UUID

      Tipo

      C

      Tamaño

      36

      Decimal

      0

      Formato

      @!

      Título

      Folio Fiscal

      Descripción

      Folio Fiscal

      Nivel

      1

      Utilizado

      Obligatorio

      No

      Browse

      Opciones


      Consulta


      Relación


      Val. Sistema


      Help

      Folio fiscal de timbrado CFDI.

      Campo

      EL_FECTIMB

      Tipo

      D

      Tamaño

      8

      Decimal

      0

      Formato


      Título

      Fecha Timbre

      Descripción

      Fecha de Timbrado

      Nivel

      1

      Utilizado

      Obligatorio

      No

      Browse

      Opciones


      Consulta


      Relación


      Val. Sistema


      Help

      Fecha de timbrado CFDI

      CampoEL_HRPAGO
      TipoC
      Tamaño8
      Decimal0
      Orden14
      Formato99:99:99
      TítuloHora de Pago
      DescripciónHora de Pago
      UtilizadoSi
      ObligatorioNo
      BrowseNo
      Opciones
      When
      Relación
      Val. SistemaFIS815ValHr(M->EL_HRPAGO)
      Inic. Padre"12:00:00"
      Help

      En caso de contar con la Hora de pago del recibo se coloca en este campo por default tendrá la hora "12:00:00".


      Importante: 
      El tamaño de los campos que disponen de grupo puede variar de acuerdo con el entorno en uso.


  2. Creación de Parámetros en el archivo SX6 – Parámetros:

    Nombre de la Variable

    MV_CFDI33

    Tipo

    L

    Descripción

    Uso de CFDI versión 3.3

    Valor Estándar

    .T.

    Nombre de la Variable

    MV_CFDRECP

    Tipo

    C

    Descripción

    CFDI: Complemento Recepción de Pago, ruta de almacén de rec. pagos (\Protheus_data\System\)

    Valor Estándar

    GetSrvProfString('startpath','')+'\cfd\recPagos\'

    Nombre de la Variable

    MV_CFDI_ES

    Tipo

    C

    Descripción

    CFDI: Lugar de emisión. Recibo Electrónico de Pago CFDI versión 3.3

    Valor Estándar

    Ejemplo: Queretaro, Qro

    Nombre de la Variable

    MV_CFDI_AJ

    Tipo

    L

    Descripción

    Realiza ajuste de Tipo de Cambio DR

    Valor Estándar

    .T.

  3. Para la versión 10 de Protheus, crear de forma manual el parámetro MV_CFDI_ES.
  4. Para versiones 12.1.14 o superiores verificar la existencia de los campos y/o parámetros, en caso de no existir deben de ser creados.

...