VirtualXML incluye 9 funciones que son comunes para la version 2.0 del timbrado de Retenciones e Información de pagos.
La creación de un CFDI de Retenciones e Información de pagos es similar a la forma en que se hacen los CFDI de Ingreso, Egreso, Pago o Nómina, solo que las funciones tienen el prefijo "Retenciones_" en vez de "VirtualXML_".
El orden en el que deben utilizarse estas funciones es como sigue:
- Retenciones_NewWithLog() Crea el identificador en memoria (handler) para crear el XML de Retenciones
- Retenciones_SetVirtualPacInfo() Establece la información del usuario VirtualPAC para consumir el servicio de timbrado
- Retenciones_SetAddendaText() / Retenciones_SetAddendaXML() Agrega addendas al documento (solo si es necesario agregar addendas al CFDI).
- Retenciones_ProcesaDocumento() Firma, sella y timbra el XMLde Retenciones y genera el archivo XML de la retención en disco.
- Retenciones_GetValue() Obtiene los resultados del proceso de timbrado.
- Retenciones_GetValues() Genera un archivo con los resultados del proceso de timbrado.
- Retenciones_GetValueInFile() Recupera un valor del proceso de timbrado de un archivo de resultado previamente generado.
- Retenciones_Free() Libera la memoria ocupada por los procesos de generación del CFDI de Retenciones e Informacion de pagos.
Refiérase a la documentación de cada función para mas información.