Función VirtualXML_Pagos20AddPagoImpuestosPTrasladoP VirtualXML
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.

Namespace:
 VirtualXML®
Aplicación: CFDI ver. 4.0
Sintaxis

public static void VirtualXML_Pagos20AddPagoImpuestosPTrasladoP(
int p,
string BaseP,
string ImpuestoP,
string TipoFactorP,
string TasaOCuotaP,
string ImporteP
)

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

VirtualXML_SetPagos20()
                                  VirtualXML_Pagos20AddPago()
                                  VirtualXML_Pagos20AddPagoDoctoRelacionado()
                                  VirtualXML_Pagos20AddPagoDoctoRelacionadoRetencionDR()
                                  VirtualXML_Pagos20AddPagoDoctoRelacionadoTrasladoDR()
                                  VirtualXML_Pagos20AddPagoImpuestosPRetencionP()