Agrega información del CFDI de ingreso que es
pagado
en un comprobante fiscal digital versión 4.0 de tipo "P"ago.
Se utiliza para capturar los impuestos trasladados aplicables conforme al monto del pago recibido. Es requerido cuando en los documentos relacionados se registre un impuesto trasladado.
Esta función se debe utilizar después de llamar a la función VirtualXML_Pagos20AddPagoDoctoRelacionado(). Y se puede repetir tantas veces como impuestos trasladados tenga el documento.
Se utiliza para capturar los impuestos trasladados aplicables conforme al monto del pago recibido. Es requerido cuando en los documentos relacionados se registre un impuesto trasladado.
Esta función se debe utilizar después de llamar a la función VirtualXML_Pagos20AddPagoDoctoRelacionado(). Y se puede repetir tantas veces como impuestos trasladados tenga el documento.
Namespace: VirtualXML®
Aplicación: CFDI ver. 4.0
Sintaxis
Parametros
- p
- Tipo: System
Int32
Identificador en memoria devuelto por la función VirtualXML_New()
- BaseP
- Tipo: System
String
Atributo requerido para señalar la suma de los atributos BaseDR de los documentos relacionados del impuesto trasladado. No se permiten valores negativos.
- ImpuestoP
- Tipo: System
String
Atributo requerido para señalar la clave del tipo de impuesto trasladado conforme al monto del pago. Revise el catálogo c_Impuesto publicado por el SAT para conocer los valores posibles de este parámetro.
- TipoFactorP
- Tipo: System
String
Atributo requerido para señalar la clave del tipo de factor que se aplica a la base del impuesto. Revise el catálogo c_TipoFactor publicado por el SAT para conocer los valores posibles de este parámetro.
- TasaOCuotaP
- Tipo: System
String
Atributo condicional para señalar el valor de la tasa o cuota del impuesto que se traslada en los documentos relacionados.
- ImporteP
- Tipo: System
String
Atributo condicional para señalar la suma del impuesto trasladado, agrupado por ImpuestoP, TipoFactorP y TasaOCuotaP. No se permiten valores negativos.
Ejemplo:
private void GeneraDocto(String version)
{
// Creamos un comprobante
int hXml = VirtualXML_New("4.0");
// Llenado del documento
VirtualXML_SetComprobanteInfo_cfdi40( hXml, "P", "001", "%cb_date", "", "", "0", "","XXX", "", "0", "P", "01", "26015", "");
// Datos del emisor
// Datos del receptor
// Concepto, un comprobante de pago solo lleva un concepto fijo:
VirtualXML_AddConcepto_cfdi40( hXml, "84111506", "", "1", "ACT", "", "Pago", "0", "0", "01");
// Asignamos el complemento de pagos:
VirtualXML_SetPagos20( hXml, "1510.48", "1416.09", "", "14160.83", "2265.73", "", "", "", "", "", "13500.00" );
// Agregamos un pago
VirtualXML_Pagos20AddPago( hXml, "2023-04-03T12:00:00", "03", "MXN", "1", "13500.00", "8007246075018235463812615001", "BSM970519DU8", "", "002180065145757870", "CFA950629CAA", "002180065145895321", "", "", "", "" );
// Agregamos un documento relacionado
VirtualXML_Pagos20AddPagoDoctoRelacionado( hXml, "FF93C8BE-AF7B-4FC5-8854-6DAE18CFB5B4", "D", "10150", "MXN", "1", "1", "22189.67", "13500.00", "8689.67", "02" );
// Agregamos Impuestos RETENIDOS del documento relacionado
VirtualXML_Pagos20AddPagoDoctoRelacionadoRetencionDR( hXml, "14160.83", "002", "Tasa", "0.106666", "1510.48");
VirtualXML_Pagos20AddPagoDoctoRelacionadoRetencionDR( hXml, "14160.83", "001", "Tasa", "0.100000", "1416.09");
// Agregamos Impuestos TRASLADADOS del documento relacionado
VirtualXML_Pagos20AddPagoDoctoRelacionadoTrasladoDR( hXml, "14160.83", "002", "Tasa", "0.160000", "2265.73");
// Agregamos otro documento relacionado
// Agregamos Impuestos trasladados del documento relacionado
// Agregamos Impuestos retenidos del documento relacionado
// Agregamos un documento relacionado mas
// Agregamos Impuestos trasladados del documento relacionado
// Agregamos Impuestos retenidos del documento relacionado
// Seguimos agregando tantos documentos relacionados como incluya el pago, desglosando los impuestos para cada documento
// Finalmente agregamos el total de impuestos del pago, que es la suma de todos los impuestos, trasladados y retenidos, de los Documentos Relacionados
// Estos importes se reflejaran también en la funcion VirtualXML_SetPagos20()
// Agregamos Impuestos RETENIDOS del Pago
VirtualXML_Pagos20AddPagoImpuestosPRetencionP( hXml, "002", "1510.48" );
VirtualXML_Pagos20AddPagoImpuestosPRetencionP( hXml, "001", "1416.09" );
// Agregamos Impuestos TRASLADADOS del pago
VirtualXML_Pagos20AddPagoImpuestosPTrasladosP( hXml, "14160.83", "002", "Tasa", "0.160000", "2265.73");
// Procesamiento del documento
// ....
// Lectura de resultados
// ....
// Liberacion de memoria
VirtualXML_Free(hXml);
}
Veáse También