Árvore de páginas


ÍNDICE


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 (CFDI), donde se genera el timbrado e impresión de los documentos generados.

En caso de que se haya recibido el pago de la contraprestación al momento de la emisión del comprobante fiscal, en este supuesto no se debe emitir adicionalmente un CFDI de Complemento de recepción de pagos porque el comprobante ya está pagado. Para esto, en el sistema deberá utilizar una Condición de Pago que efectúe la baja automática de la cuenta por cobrar.

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.

A partir del 01 de enero del 2022, se actualiza la versión del complemento de pagos a la versión 2.0, siendo su uso obligatorio a partir del 1 de julio del 2022.

Sustento Legal:

Actualización factura electrónica – Reforma Fiscal 2022


Rutinas actualizadas

Para tener activa la versión de Complemento de Recepción de Pago versión 2.0 con CFDI versión 4.0 es necesario tener actualizadas con una fecha mayor o igual las siguientes rutinas:

Rutinas involucradasNombre TécnicoFecha
FISA817Anular/Timbrar/Imprimir Cobros Diversos.14/03/2022
FINA087ACobros Diversos01/03/2022
FINA088Anular/Timbrar/Imprimir Cobros Diversos25/02/2022

02. PROCEDIMIENTO DE IMPLANTACIÓN

Pre-requisitos:

  • Contar con implementación de la Facturación Electrónica para CFDI versión 4.0
    • Actualización de las rutinas, así como de diccionario de Datos mencionadas en el Documento de Referencia.
  • Tener configurado un Cliente, el cual debe contener informado el campo Régimen Fiscal (AI0_REGFIS)
  • Deberá aplicar el patch de actualización relacionado a este llamado relacionado a la issue DMINA-14605 (respaldar RPO antes de aplicar). El patch contiene la actualización de las siguientes rutinas:
    • FINA087A.PRW
    • FINA088.PRW
    • FISA815.PRW

La implementación de la presente solución actualizara la estructura del XML de la siguiente manera:

Nombre del Nodo o AtributoContenidoDescripción
cfdi:Comprobante

xmlns:cfdihttp://www.sat.gob.mx/cfd/4Hace referencia al namespace de comprobantes.
xmlns:pago20http://www.sat.gob.mx/Pagos20Hace referencia al namespace adicional del complemento aplicable para la expresión
del complemento
de Pagos
xsi:schemaLocation

http://www.sat.gob.mx/cfd/4

http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd

http://www.sat.gob.mx/Pagos20

http://www.sat.gob.mx/sitio_internet/cfd/Pagos/Pagos20.xsd

Hace referencia a los dos namespaces usados, marcando adicionalmente la ubicación de los esquemas xsd que definen las especificaciones de cada namespace.
Exportacion01Nuevo atributo, el cual se debe registrar el valor =”01"
Version4.0El valor registrado debe ser "4.0"
cfdi:Receptor

DomicilioFiscalReceptorCP(A1_CEP)Nuevo atributo, el cual debe registrar el código postal del domicilio fiscal del receptor del comprobante.
RegimenFiscalReceptorRég. Fiscal(AI0_REGFIS)Nuevo atributo, el cual debe registrar la clave vigente del régimen fiscal del contribuyente receptor.
UsoCFDICP01Para versión de CRP 2.0 este atributo se debe registrar el valor “CP01”. (para versión de CRP 1.2 el valor es "P01")
cfdi:Concepto

ObjetoImp01Nuevo atributo, el cual debe registrar el valor “01”.
pago20:pagos

Version2.0Atributo requerido que indica la versión del complemento para recepción de pagos.
pago20:Totales
Nuevo elemento
TotalRetencionesIVA
Debe ser igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los campos ImporteP de los impuestos retenidos registrados en el elemento RetencionP donde el campo ImpuestoP contenga el valor IVA por el valor registrado en el campo TipoCambioP de cada nodo Pago, valor expresado en Pesos.
TotalRetencionesISR
Debe ser igual al redondeo de la suma del resultado de multiplicar cada uno de los 
importes de los campos ImporteP de los impuestos retenidos registrados en el 
elemento RetencionP donde el campo ImpuestoP contenga el valor ISR por el valor 
registrado en el campo TipoCambioP de cada nodo Pago, valor expresado en Pesos.
TotalRetencionesIEPS
Debe ser igual al redondeo de la suma del resultado de multiplicar cada uno de los 
importes de los campos ImporteP de los impuestos retenidos registrados en el 
elemento RetencionP donde el campo ImpuestoP contenga el valor IEPS por el 
valor registrado en el campo TipoCambioP de cada nodo Pago, valor expresado en Pesos.
TotalTrasladosBaseIVA16 
Debe ser igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los campos BaseP de los impuestos trasladados registrados en el elemento TrasladoP donde los campos contengan en ImpuestoP el valor IVA, en TipoFactorP el valor Tasa y en TasaOCuotaP el valor 0.160000, por el valor registrado en el campo TipoCambioP de cada nodo Pago, valor expresado en Pesos.
TotalTrasladosImpuestoIVA16
Debe ser igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los campos ImporteP de los impuestos trasladados registrados en el elemento TrasladoP donde los campos contengan en ImpuestoP el valor IVA, en TipoFactorP el valor Tasa y en TasaOCuotaP el valor 0.160000, por el valor registrado en el campo TipoCambioP de cada nodo Pago, valor expresado en Pesos.
TotalTrasladosBaseIVA8
Debe ser igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los campos BaseP de los impuestos trasladados registrados en el elemento TrasladoP donde los campos contengan en ImpuestoP el valor IVA, en TipoFactorP el valor Tasa y en TasaOCuotaP el valor 0.080000, por el valor registrado en el campo TipoCambioP de cada nodo Pago, valor expresado en Pesos.
TotalTrasladosImpuestoIVA8
Debe ser igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los campos ImporteP de los impuestos trasladados registrados en el elemento TrasladoP donde los campos contengan en ImpuestoP el valor IVA, en TipoFactorP el valor Tasa y en TasaOCuotaP el valor 0.080000, por el valor registrado en el campo TipoCambioP de cada nodo Pago, valor expresado en Pesos.
TotalTrasladosBaseIVA0
Debe ser igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los campos BaseP de los impuestos trasladados registrados en el elemento TrasladoP donde los campos contengan en ImpuestoP el valor IVA, en TipoFactorP el valor Tasa y en TasaOCuotaP el valor 0.000000, por el valor registrado en el campo TipoCambioP de cada nodo Pago, valor expresado en Pesos.
TotalTrasladosImpuestoIVA0
Debe ser igual al redondeo de la suma del resultado de multiplicar cada uno de los importes de los campos ImporteP de los impuestos trasladados registrados en el elemento TrasladoP donde los campos contengan en ImpuestoP el valor IVA, en TipoFactorP el valor Tasa y en TasaOCuotaP el valor 0.000000, por el valor registrado en el campo TipoCambioP de cada nodo Pago, valor expresado en Pesos.
MontoTotalPagos
El valor de este atributo debe ser igual al redondeo de la suma del resultado de multiplicar cada uno de los atributos Monto por el valor registrado en el atributo TipoCambioP de cada nodo Pago.
pago20:pago

TipoCambioP
Atributo condicional para expresar el tipo de cambio de la moneda a la fecha en que se realizó el pago. El valor debe reflejar el número de pesos mexicanos que equivalen a una unidad de la divisa señalada en el atributo MonedaP. Para versión de CRP 2.0, si el atributo MonedaP es igual a MXN, se deberá informar con valor "1".
pago20:DoctoRelacionado

EquivalenciaDR
Nuevo atributo condicional para expresar el tipo de cambio conforme con la moneda registrada en el documento relacionado. Es requerido cuando la moneda del documento relacionado es distinta de la moneda de pago. Se debe registrar el número de unidades de la moneda señalada en el documento relacionado que equivalen a una unidad de la moneda del pago.
TipoCambioDR
Atributo eliminado en CRP 2.0
MetodoDePagoDR
Atributo eliminado en CRP 2.0
ObjetoImpDR02

Atributo requerido para expresar si el pago del documento relacionado es objeto o no de impuesto.

Si el valor registrado en este campo es “02” el nodo hijo ImpuestosDR del nodo DoctoRelacionado debe existir.

pago20:ImpuestosDR
En este nodo se pueden expresar los impuestos aplicables conforme al monto del pago recibido, expresados a la moneda del documento relacionado.
Si se registra información en este nodo, debe existir al menos una de las dos secciones siguientes: TrasladosDR o RetencionesDR.
pago20:RetencionDR
En este nodo se pueden expresar los impuestos retenidos aplicables conforme al monto del pago recibido.
pago20:RetencionDR
En este nodo se debe expresar la información detellada de una retención de impuestos específico conforme al monto del pago recibido.
BaseDR
Se debe registrar el valor para el cálculo de la retención conforme al monto del pago, aplicable al documento relacionado, la determinación de la base se realiza de acuerdo con las disposiciones fiscales vigentes. No se permiten valores negativos. 
ImpuestoDR
Se debe registrar la clave del tipo de impuesto retenido conforme al monto del pago, aplicable al documento relacionado.  (Valor de la Tabla c_Impuesto del SAT).
TipoFactorDR
Se debe registrar la clave del tipo de factor que se aplica a la base del impuesto. Por ejemplo: Tasa.
TasaOCuotaDR
Se debe registrar el valor de la tasa o cuota del impuesto que se retiene.
ImporteDR
Se debe registrar el importe del impuesto retenido conforme al monto del pago, aplicable al documento relacionado. No se permiten valores negativos.
pago20:TrasladosDR
En este nodo se pueden expresar los impuestos trasladados aplicables conforme al monto del pago recibido.
pago20:TrasladoDR
En este nodo se debe expresar la información detallada de un traslado de impuesto específico conforme al monto del pago recibido.
BaseDR
Se debe registrar el valor de la base para el cálculo del impuesto trasladado conforme al monto del pago, aplicable al documento relacionado, la determinación de la base se realiza de acuerdo con las disposiciones fiscales vigentes. No se permiten valores negativos.
ImpuestoDR

Se debe registrar la clave del tipo de impuesto trasladado conforme al monto del pago aplicable al documento relacionado. (Valor de la Tabla c_Impuesto del SAT).

TipoFactorDR
Se debe registrar la clave del tipo de factor que se aplica a la base del impuesto, el cual se encuentra incluido en el catálogo c_TipoFactor publicado en el Portal del SAT. 
TasaOCuotaDR
Se puede registrar el valor de la tasa o cuota del impuesto que se traslada. Es requerido cuando el campo TipoFactorDR contenga una clave que corresponda a Tasa o Cuota.
ImporteDR
Se puede registrar el importe del impuesto trasladado conforme al monto del pago, aplicable al documento relacionado. No se permiten valores negativos. Es requerido cuando el tipo factor sea Tasa o Cuota.
pago20:ImpuestosP
En este nodo se puede expresar el resumen de los impuestos aplicables conforme al monto del pago recibido, expresados a la moneda de pago.
pago20:RetencionesP
Nodo condicional para señalar los impuestos retenidos aplicables conforme al monto del pago recibido. Es requerido cuando en los documentos relacionados se registre algún impuesto retenido.
pago20:RetencionP
Nodo requerido para señalar la información detallada de una retención de impuesto específico conforme al monto del pago recibido.
ImpuestoP
Se debe registrar la clave del tipo de impuesto retenido conforme al monto del pago, mismas que se encuentran incluidas en el catálogo c_Impuesto publicado en el Portal del SAT, por ejemplo 002
ImporteP
Se debe registrar el importe del impuesto retenido conforme al monto del pago. No se permiten valores negativos. Debe existir al el atributo TotalRetencionesIVA.
pago20:TrasladosP
Nodo condicional para expresar los impuestos trasladados aplicables conforme al monto del pago recibido. Es requerido cuando en los documentos relacionados se registre un impuesto trasladado.
pago20:TrasladoP
Nodo requerido para expresar la información detallada de un traslado de impuesto específico conforme al monto del pago recibido.
En el caso de que sólo existan documentos relacionados con TipoFactorDR Exento, en este nodo solo deben existir los campos BaseP, ImpuestoP y TipoFactorP.
BaseP
Se debe registrar la suma de los campos BaseDR de los documentos relacionados del impuesto trasladado. No se permiten valores negativos.
Debe existir al menos uno de los campos TotalTrasladadosBaseIVA16,
TotalTrasladadosBaseIVA8, TotalTrasladadosBaseIVA0, TotalTrasladosBaseIVAExento. 
ImpuestoP
Se debe registrar la clave del tipo de impuesto trasladado conforme al monto del pago, mismas que se encuentran incluidas en el catálogo c_Impuesto publicado en el Portal del SAT .
TipoFactorP
Se debe registrar la clave del tipo de factor que se aplica a la base del impuesto, mismas que se encuentran incluidas en el catálogo c_TipoFactor publicado en el Portal del SAT. 
TasaOCuotaP
Se puede registrar el valor de la tasa o cuota del impuesto que se traslada en los documentos relacionados.
El valor seleccionado debe corresponder a un valor del catálogo c_TasaOCuota donde la columna impuesto corresponda con el campo ImpuestoP y la columna factor corresponda con el campo TipoFactorP.
ImporteP
Se puede registrar la suma del impuesto trasladado, agrupado por ImpuestoP,
TipoFactorP y TasaOCuotaP. No se permiten valores negativos.

*CRP - Complemento de Recepción de Pago.


IMPORTANTE

Para la generación de los nodos de Traslado y Retenciones se deben configurar los parámetros MV_IVATRAS, MV_IEPSTRA, MV_RETIVAM, MV_RETISR y MV_RETIEPS, y tienen la misma funcionalidad que para los impuestos en la generación del XML de Factura de Venta, Nota de Débito y Nota de Crédito.


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:


CampoContenido
NombreMV_CFDI40
TipoL
DescripciónUso de CFDI versión 4.0
Contenido.T.

Si el parámetro se encuentra en verdadero:

  • Se generará el Complemento de Recepción de Pago versión 2.0 para la Facturación electrónica 4.0.
  • Al seleccionar el documento dentro de Cobros Diversos tendrá que ser un documento Timbrado.
  • Para Cobros Diversos que hayan generado Complemento de Recepción de Pago y contengan timbre fiscal digital se permitirá la anulación mediante el nuevo proceso de cancelación.


CampoContenido
NombreMV_CFDRECP
TipoC
DescripciónCFDI: Complemento Recepción de Pago, ruta de almacén de rec. pagos (\Protheus_data\System\)
ContenidoGetSrvProfString('startpath','')+'\cfd\recPagos\'

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


CampoContenido
NombreMV_CFDI_ES
TipoC
Descripción

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

Contenido

Ejemplo: Queretaro, Qro

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


CampoContenido
NombreMV_CFDI_AJ
TipoL
Descripción

Realiza ajuste de atributos TipoCambioDR (CFDI 3.3) o EquivalenciaDR (CFDI 4.0)

Contenido

.T.

Si el parámetro se encuentra en verdadero:

  • Se realiza un ajuste en el valor del atributo TipoCambioDR o EquivalenciaDR al realizar un recibo de cobro con una moneda diferente a la del título relacionado, para permitir el timbrado de los Recibos de Cobro ajustando el Tipo de Cambio.


CampoContenido
NombreMV_CFDICPG
TipoC
Descripción

CP de la sucursal que genera CFDI con Complemento para Recepción de pagos

Contenido

Ejemplo: 76650

CampoContenido
NombreMV_IVATRAS
TipoC
Descripción

Códigos de impuesto variable para IVA trasladado.

Contenido

Ejemplo: IVA|IV8

Ingresar los códigos de los impuestos variables que son utilizado para realizar el cálculo del impuesto IVA. Cada código debe estar separado por el carácter pipe “|”.


CampoContenido
NombreMV_IEPSTRA
TipoC
DescripciónCódigos de impuesto variable para IEPS trasladado.
ContenidoEjemplo: IEP

Ingresar los códigos de los impuestos variables que son utilizado para realizar el cálculo del impuesto IEPS. Cada código debe estar separado por el carácter pipe “|”.


CampoContenido
NombreMV_RETIVAM
TipoC
Descripción

Códigos de impuesto variable para retenciones de IVA

Contenido

Ejemplo: RIV

Ingresar los códigos de los impuestos variables que son utilizado para realizar el cálculo del impuesto de Retención de IVA. Cada código debe estar separado por el carácter pipe “|”.


CampoContenido
NombreMV_RETISR
TipoC
DescripciónCódigos de impuesto variable para retenciones de ISR
ContenidoEjemplo: IRS

Ingresar los códigos de los impuestos variables que son utilizado para realizar el cálculo del impuesto de Retención de ISR. Cada código debe estar separado por el carácter pipe “|”.


CampoContenido
NombreMV_RETIEPS
TipoC
DescripciónCódigos de impuesto variable para retenciones de IEPS
ContenidoEjemplo: IEP

Ingresar los códigos de los impuestos variables que son utilizado para realizar el cálculo del impuesto de Retención de IEPS. Cada código debe estar separado por el carácter pipe “|”.


CampoContenido
NombreMV_CANAUT 
TipoC
DescripciónPermite omitir la sol. de canc. ante el SAT de
docs. cancelados con Motivo 01, al timbrar el doc.
que lo sustituye
ContenidoEjemplo: N
  • Si el parámetro es igual a 'N' desactiva la cancelación automática.
  • Si e parámetro es igual a 'S' o vacío la funcionalidad actual de la cancelación del recibo de cobro no tendrá ningún cambio.
CampoContenido
NombreMV_CFDREC
TipoN
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.

Contenido

Default: 0


COMPORTAMIENTO

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

  • Parámetro no existe, esta vacío 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 mostrará mensaje para solicitar confirmación (XML).
    • El sistema imprimirá el Complemento de Recepción de Pago, no mostrará 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 mostrará mensaje para solicitar confirmación (XML).
    • El sistema NO imprimirá el Complemento de Recepción de Pago, no mostrará mensaje para solicitar confirmación (PDF).
    • El sistema NO mostrará los mensajes de validación correspondientes al timbrado del Complemento de Recepción de Pago.

  • Parámetro con valor 3.

    • 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).
    • El sistema muestra mensaje solicitando la confirmación para realizar el envío por correo del Complemento de Recepción de Pago (XML|PDF) solo si la respuesta a la confirmación de impresión fue afirmativa.

  • Parámetro con valor 4:

    • El sistema generará el Complemento de Recepción de Pago, no mostrará mensaje para solicitar confirmación (XML).
    • El sistema imprimirá el Complemento de Recepción de Pago, no mostrará mensaje para solicitar confirmación (PDF).
    • El sistema realizará el envío del Complemento de Recepción de Pago, no mostrará mensaje para solicitar confirmación(XML|PDF).


EJEMPLO DE UTILIZACIÓN DEL PARÁMETRO MV_CFDREC


Desde la rutina Cobros Diversos (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.

Caso 4 - Parámetro con valor 3.

  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.
  9. Validar que el sistema solicite confirmación para realizar el Envío del Complemento de Recepción de Pago y confirmar el envío.
  10. Validar que se hayan enviado los archivos XML y PDF al correo del cliente.

Caso 5 - Parámetro valor 4.

  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.
  8. Si el proceso de impresión fue exitoso, validar que el sistema realice el proceso de Envío del Complemento de Recepción de Pago sin solicitar previamente confirmación.
  9. Validar que se hayan enviado los archivos XML y PDF al correo del cliente.


Desde la rutina Anular/Timbrar/Imprimir Cobros Diversos (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.

Caso 4 - Parámetro valor 3.

  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. Validar que el sistema solicite confirmación para realizar el Envío del Complemento de Recepción de Pago y confirmar el envío.
  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.
  9. Si el proceso de timbrado fue exitoso , se realiza la generación del log de proceso de Envío del Complemento de Recepción de Pago donde muestra los recibos seleccionados, así como si fue enviado exitosamente u ocurrió algún error.

Caso 5 - Parámetro valor 4.

  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.
  7. Si el proceso de timbrado fue exitoso, se realiza la generación del log de proceso de Envío del Complemento de Recepción de Pago donde muestra los recibos seleccionados, así como si fue enviado exitosamente u ocurrió algún error.

CONFIGURACIÓN DE CLIENTE

  1. Ir el módulo Facturación (SIGAFAT) ir al menú "Actualizaciones | Archivos | Clientes" (MATA030)
  2. Registrar un nuevo cliente indicando los campos requeridos y guardar.
  3. Seleccionar el cliente e ir a la opción Modificar.
  4. Ir a "Otras acciones | Complementos del Cliente"
  5. Informar el campo Rég.Fiscal (AI0_REGFIS)

CONFIGURACIONES ADICIONALES

Impresión de logo

Para impresión de un logo, el archivo debe de estar guardado en StartPath con el siguiente nombre:

  • "LGRL" + CodigoEmpresa (SM0->M0_CODIGO)  + ".BMP"

Si se requiere por filial el nombre deberá ser como el siguiente:

  • "LGRL" + CodigoEmpresa (SM0->M0_CODIGO) + Filial (SM0->M0_CODFIL)  + ".BMP".

CONFIGURACIÓN DE DIRECTORIOS

En caso de tener instalado y en funcionamiento el WebApp - WebAgent, necesario considerar lo mencionado en el siguiente documento técnico sobre la configuración de directorios



EJEMPLO DE UTILIZACIÓN DEL PARÁMETRO MV_CFDICPG

Pre-condiciones:

En el módulo Facturación (SIGAFAT), ir al menú Actualizaciones | Archivos | Definición de Catálogos (FISA812).

Validar que la tabla S004 - Catálogo de códigos postales, tenga la siguiente estructura.


IMPORTANTE

Para que la tabla S004 - Catálogo de Códigos Postales se genere con la estructura de huso horario, es necesario tener en el repositorio la rutina de Carga de catálogos desde archivos .csv a la base de datos (FISA814) con fecha mayor o igual a 27/08/2021.


En el módulo Facturación (SIGAFAT), ir al menú Actualizaciones | Archivos | Mantenimiento de Catálogos (FISA813)

Validar que la tabla S004 - Catálogo de códigos postales, tenga cargados los datos de acuerdo a la estructura.

IMPORTANTE

Para el caso en el que el binario del SmartClient que se ejecuta, se encuentre ubicado en una computadora de un país del extranjero, cuya hora sea diferente a la ubicación desde donde se opera el sistema, se debe incluir un registro de manera manual, configurando las columnas Dif Verano y Dif Invierno de tal manera que exista una diferencia de horas de acuerdo a lo requerido.

Y en el parámetro MV_CFDICPG configurar el código de ese nuevo registro.


Procedimiento:

  • Incluir/Timbrar una Factura de Venta (NF), Nota de Crédito de Cliente (NCC), Nota de Débito de Cliente (NDC) o un Complemento de Recepción de Pago (CRP).
  • Validar que el timbrado sea exitoso.
  • En el comprobante electrónico (archivo XML) validar que el atributo Fecha contenga la hora de acuerdo al huso horario de la configuración de la tabla S004 - Catálogo de Códigos Postales.


Información

Actualización de Catálogos del SAT

  • Iniciar el Smartclient en el módulo "Configurador - SIGACFG".
  • Entrar a la rutina "Base de Datos > Base de Datos > Parámetros (CFGX031)".
  • Configurar el parámetro MV_PATH814, especificando la ruta de ubicación para los catálogos del SAT, archivos en formato CSV.
  • En la ruta especificada en el parámetro MV_PATH814, colocar el archivo del catálogo de códigos postales.
    c_CodigoPostal.csv
  • Iniciar el Smartclient en el módulo "Facturación - SIGAFAT".
  • Entrar a la rutina "Actualizaciones > Archivos > Mantenimiento de Catálogos. (FISA814)".
  • El catálogo será actualizado en el sistema.

Importante:

Si el ambiente ya cuenta con el Catálogo de Códigos Postales, éste debe ser reemplazado por el publicado por el SAT el 10/09/2019, del Anexo 20 versión 3.3.
Para esto, es necesario iniciar sesión en el Smartclient con un usuario que pertenezca al grupo de administradores del sistema.
- Entrar a la rutina "Actualizaciones > Archivos > Definición de Catálogos (FISA814)".
- Seleccionar el catálogo S004 - Catálogo de Códigos Postales.
- Hacer clic en "Otras Acciones | Borrar".
- Confirmar.
- Aceptar el proceso de borrado de la Definición y del Catálogo. Dependiendo de la cantidad de registros en el catálogo, este proceso podría demorar varios minutos.
- Salir de la rutina y entrar nuevamente. Se recreará la Definición y se cargará el Catálogo más reciente. Dependiendo del tamaño del catálogo, este proceso puede tardar varios minutos.

En caso de que se requiera actualizar los catálogos con los más recientes del SAT, se recomienda realizar los siguientes pasos:
- En la configuración regional del Sistema Operativo de la computadora, establecer el caracter pipe ('|') como separador de campos.
- Entrar al mini-sitio del SAT, de Factura Electrónica y/o del complemento correspondiente.
- Descargar los catálogos, los cuales son distribuidos en planillas de cálculo.
- En el catálogo requerido, observar que la cantidad y distribución de las columnas coincida con el catálogo previo.
- Copiar las celdas de datos, sin encabezados, del catálogo requerido a una nueva planilla.
- Grabar la planilla obtenida, es importante que el nombre sea el mismo que en la pestaña de la planilla obtenida del SAT (Excluyendo el sufijo de consecutivo, por ejemplo "_Parte_1") y que sea con el Tipo de archivo CSV (MS_DOS) .csv.
- Posteriormente, si es necesario, reestablecer el separador de campos en la configuración regional del Sistema Operativo de la computadora.
- Comprobar que el archivo .csv obtenido tenga codificación UTF-8 sin BOM, en caso contrario, se deberá cambiar a través de un editor de texto con la capacidad de manejo de codificación, por ejemplo con Notepad++:
    . Cargar el archivo .csv en el editor.
    . Las vocales con acento, eñes y otros caracteres especiales se deben visualizar correctamente. Además, en el menú "Codificación" debe indicar la opción "UTF-8 sin BOM".
    . En caso de que no se cumplan esas condiciones, en el menú "Codificación" seleccionar "Juego de caracteres > Europeo Occidental > OEM 850".
    . A continuación, nuevamente abrir el menú "Codificación", seleccionar Convertir a "UTF-8 sin BOM".
    . En este punto, las vocales con acento, eñes y otros caracteres especiales deben visualizarse correctamente.
    . Grabar el archivo de texto.


04. PROCEDIMIENTO DE UTILIZACIÓN

a) Complemento de Recepción de Pagos - Cobros Diversos (FINA087A)

  1. Ingresar al módulo Facturación (SIGAFAT) e ir al menú "Actualizaciones | Facturación | Facturaciones" (MATA467N)
  2. Incluir una Factura con una condición de pago en parcialidades (Met Pago SAT igual a PPD) y realizar el timbrado.
  3. Ingresar al módulo Financiero (SIGAFIN) e ir al menú "Actualizaciones | Cuentas por cobrar | Cobros Diversos" (FINA087A)
  4. Capturar un nuevo Cobro Diverso para la Factura previamente generada.
  5. Al confirmar la captura del Cobro Diverso, se deberá confirmar la generación del Complemento de Recepción de Pagos.
    • La solicitud de confirmación para la generación, impresión y envío del complemento de recepción de pago dependerá de la configuración del parámetro MV_CFDREC.
  6. Los documentos generados serán guardados en la ubicación indicada en el parámetro MV_CFDRECP.
    • El XML generado deberá contener la sección de timbre fiscal.
  7. Dentro del XML, se observarán las actualizaciones en la estructura como se menciona en la sección 02. PROCEDIMIENTO DE IMPLANTACIÓN:



  8. Dentro del PDF, se ajusta la impresión para los nuevos atributos, así como la lectura a partir de la versión del XML indicada en el elemento Pagos



b) Complemento de Recepción de Pagos - Anular/Timbrar/Imprimir Cobros Diversos (FINA088)

  1. Ingresar al módulo Facturación (SIGAFAT) e ir al menú "Actualizaciones | Facturación | Facturaciones" (MATA467N)
  2. Incluir una Factura con una condición de pago en parcialidades (Met Pago SAT igual a PPD) y realizar el timbrado.
  3. Ingresar al módulo Financiero (SIGAFIN) e ir al menú "Actualizaciones | Cuentas por cobrar | Cobros Diversos" (FINA087A)
  4. Capturar un nuevo Cobro Diverso para la Factura previamente generada.
  5. Al confirmar la captura del Cobro Diverso, se deberá indicar que NO debe realizar la generación del Complemento de Recepción de Pagos.
  6. Ingresar al módulo Financiero (SIGAFIN) e ir al menú "Actualizaciones | Cuentas por cobrar | Anular/Timbrar/Imprimir Cobros Diversos" (FINA088)
  7. Informar los parámetros requeridos para mostrar el Cobro Diverso capturado anteriormente.
  8. Seleccionar el Cobro Diverso e ir a la opción "Otras acciones | Timbrar"
  9. Confirmar la generación del Complemento de Recepción de Pago.
  10. Los documentos generados serán guardados en la ubicación indicada en el parámetro MV_CFDRECP.
    • El XML generado deberá contener la sección de timbre fiscal.
  11. Dentro del XML, se observarán las actualizaciones en la estructura como se menciona en la sección 02. PROCEDIMIENTO DE IMPLANTACIÓN.

05. BITACORA DE CAMBIOS

Acuses de cancelación de recibos guardados en una carpeta local

Producto

TOTVS Backoffice

Línea de producto: 

Línea Protheus

Segmento:

Backoffice

Módulo:SIGAFIN - Financiero
Función:

Rutinas

Nombre Técnico

Fecha

FINA088Anulación/Timbrado impresión recibos
FISA800Timbrado CFDI
País:México
Ticket:No aplica.
Requisito/Story/Issue (informe el requisito vinculado):DMINA-20893


SITUACIÓN

Se requiere que al realizar la Cancelación del CFDI de los "Complementos de Pago", guarde los acuses de cancelación así como XML y PDF del documento cancelado en una carpeta local y no solo en el servidor.


SOLUCIÓN

En las rutinas de Anulación/Timbrado impresión recibos(FINA088):

Se crea función F88AcuRe() que guarda en la ruta indicada en el parámetro MV_CFDCARR los archivos ".can", ".xml", ".pdf" de los Complementos de Pago, que cuando se realiza la cancelación envía mensaje al usuario indicando la ruta donde se almacenaron los archivos.

En las rutinas de CFDI con Complemento para Recepción de Pagos (FISA815):

Se realiza ajuste para cuando se cancela un Complemento de Pago con tipo de motivo de cancelación "01"  y se realiza el timbrado del nuevo Complemento de Pago que lo sustituye, guarde en la ruta indicada en el parámetro MV_CFDCARR  los archivos ".can", ".xml", ".pdf" del documento que fue cancelado y envía mensaje con el folio y ruta


PROCEDIMIENTO

Cancelación diferente de motivo 01

  1. Generación/Timbrado de CFDI con Complemento para Recepción de Pagos:

    1. Ingresar al módulo Financiero (SIGAFIN).
    2. Acceder al menú Actualizaciones | Cuentas por Cobrar | Cobros Diversos (FINA087A)
    3. Configurar las preguntas de la rutina.
    4. Informar los datos del encabezado del Cobro Diverso.
    5. Informar Tipo Valor, Prefijo, Número, Valor, Moneda, presionar Siguiente.
    6. Seleccionar el Cliente, presionar Siguiente.
    7. Seleccionar el Título por Cobrar de la Factura a dar de baja. informar el Valor por Bajar de acuerdo a la moneda del Cobro Diverso, presionar Siguiente.
    8. Validar el Resumen del Recibo, presionar Confirmar.
    9. Confirmar la generación y timbrado del CFDI con Complemento para Recepción de Pagos (Confirmación requerida de acuerdo a la configuración del parámetro MV_CFDREC).

    Anulación de Cobro Diverso, sin Solicitud de Cancelación del CFDI con Complemento para Recepción de Pagos:

    1. Ingresar al módulo Financiero (SIGAFIN).
    2. Acceder al menú Actualizaciones | Cuentas por Cobrar | Anular/Timbrar/Imprimir Cobros Diversos (FINA088)
    3. Configurar las preguntas de la rutina para visualizar el Cobro Diverso generado previamente.
    4. Seleccionar el Cobro Diverso, el cual debe estar en estatus Timbrado (Azul).
    5. Ejecutar la acción Anular.
    6. En la pantalla Motivo de Cancelación seleccionar un Motivo de Cancelación diferente de 01, por ejemplo 02 - Compr. emitido c/errores s/relac.
    7. Se visualiza aviso que indica que se realizará la anulación del Cobro Diverso, y que se solicitará la cancelación del CFDI con Complemento para Recepción de Pagos ante el SAT, presionar Si.
    8. Se visualizará mensaje que indica que el Recibo fue anulado correctamente y se actualizará el estatus a Indisponible (Rojo).
    9. Validar que el acuse y archivos .canc, .xml y/o .pdf se muestren en la ruta indicada.

Cancelación motivo 01

  1. Generación/Timbrado de Complemento de Recepción de Pago:

    1. Ingresar al módulo Financiero (SIGAFIN).
    2. Acceder al menú Actualizaciones | Cuentas por Cobrar | Cobros Diversos (FINA087A)
    3. Configurar las preguntas de la rutina.
    4. Informar los datos del encabezado del Cobro Diverso.
    5. Informar Tipo Valor, Prefijo, Número, Valor, Moneda, presionar Siguiente.
    6. Seleccionar el Cliente, presionar Siguiente.
    7. Seleccionar el Título por Cobrar de la Factura a dar de baja. informar el Valor por Bajar de acuerdo a la moneda del Cobro Diverso, presionar Siguiente.
    8. Validar el Resumen del Recibo, presionar Confirmar.
    9. Confirmar la generación y timbrado del CFDI con Complemento para Recepción de Pagos (Confirmación requerida de acuerdo a la configuración del parámetro MV_CFDREC).

    Anulación de Cobro Diverso, sin Solicitud de Cancelación de CFDI con Complemento para Recepción de Pagos:

    1. Ingresar al módulo Financiero (SIGAFIN).
    2. Acceder al menú Actualizaciones | Cuentas por Cobrar | Anular/Timbrar/Imprimir Cobros Diversos (FINA088)
    3. Configurar las preguntas de la rutina para visualizar el Cobro Diverso generado previamente.
    4. Seleccionar el Cobro Diverso, el cual debe estar en estatus Timbrado (Azul).
    5. Ejecutar la acción Anular.
    6. En la pantalla Motivo de Cancelación seleccionar el Motivo de Cancelación: 01 - Compr. Emitido c/errores c/relac.
    7. Se visualiza aviso que indica que solo se realizará la anulación del Cobro Diverso, pero que no se solicitará la cancelación del CFDI con Complemento para Recepción de Pagos ante el SAT, presionar Si.
    8. Se visualizará mensaje que indica que el Recibo fue anulado correctamente y se actualizará el estatus a Anulado - No Solicitud Cancelación SAT (Amarillo)

    Generación/Timbrado de CFDI con Complemento para Recepción de Pagos, con Solicitud de Cancelación de CFDI con Complemento para Recepción de Pagos de Recibo a Sustituir:

    1. Ingresar al módulo Financiero (SIGAFIN).
    2. Acceder al menú Actualizaciones | Cuentas por Cobrar | Cobros Diversos (FINA087A)
    3. Configurar las preguntas de la rutina.
    4. Informar los datos del encabezado del Cobro Diverso, indicando el campo Recibo Sust. (EL_RECSUS).
    5. Informar Tipo Valor, Prefijo, Número, Valor, Moneda, presionar Siguiente.
    6. Seleccionar el Cliente, presionar Siguiente.
    7. Seleccionar el Título por Cobrar de la Factura a dar de baja. informar el Valor por Bajar de acuerdo a la moneda del Cobro Diverso, presionar Siguiente.
    8. Validar el Resumen del Recibo, presionar Confirmar.
    9. Confirmar la generación y timbrado del CFDI con Complemento para Recepción de Pagos (Confirmación requerida de acuerdo a la configuración del parámetro MV_CFDREC)
    10. Validar que se muestre mensaje con el nombre los archivos XML que fueron timbrados y anulados.
    11. Validar que el acuse y archivos .canc, .xml y/o .pdf se muestren en la ruta indicada.

INFORMACIÓN ADICIONAL

Parámetros (SX6)

Ítems/Carpetas

Descripción

TipoC
Nombre de Var.MV_CFDCARR
DescripciónRuta local donde se guardarán los acuses de los recibos cancelados (.canc,.xml y .pdf)
Cont. Esp


06. OTRAS DOCUMENTACIONES

07. TABLAS UTILIZADAS

  • SA1 - Clientes
  • SEL - Recibos de Cobranza
  • SF1 - Encabezado de Fact. de Entrada
  • SD1 - Ítems de las Fact. de Entrada
  • SF2 - Encabezado de Fact. de Salida
  • SD2 - Ítems de Venta de la Fact.
  • SE5 - Movimiento Bancario
  • SE1 - Cuentas por Cobrar