Ir al contenido principal

Administrar la recepción de CFD/CFDI - Script que lee XML de un Comprobante Fistal Digital

Hoy en día la preocupación de la mayoría de las empresas se concentra en la generación de Comprobantes Fiscales Digitales basados en las normas del SAT. En este nicho ya hay bastantes pesonas y empresas trabajando.
Sin embargo no he visto o desconozco una herramienta que ayude a administrar la RECEPCION DE CFD's.

Me ha pasado que despues de comprar en diferentes negocios, cada empresa genera un archivo xml con nombre generico, que es de utilidad para ellos. Al tener varias facturas la administración se vuelve complicada.
Una manera de administrar estos comprobantes digitales es renombrarlos utilizando algun layout, ya sea de manera manual o con un proceso automatico

Este script ayuda a leer un CFD para despues formatear el nombre del archivo de la siguiente manera:
Fecha_RFCemisor_serie_folio_subtotal_iva_total

Fecha: Fecha en que se generó el comprobante
RFCemisor: RFC de quien emite el cfd/cfdi
Serie y Folio: Numero de Serie y folio de la factura
Subtotal, iva, total: Importes de la factura.

Aquí el código:
Emisor);
  $rfc = trim ($arrejemplo["@attributes"]['rfc']  );
  $nombre = trim ($arrejemplo["@attributes"]['nombre'] );

 #Convierte objeto Impuestos en array
 $arrejemplo = get_object_vars ($objejemplo->Impuestos);
  $iva = trim ($arrejemplo["@attributes"]['totalImpuestosTrasladados']);
  // $nombre = $arrejemplo["@attributes"]['nombre'];

 #Formatea los valores numericos
 $tam_num  = 8;
 $relleno ='0';
 $subTotal = str_pad($subTotal ,$tam_num,$relleno,STR_PAD_LEFT);
 $iva  = str_pad($iva  ,$tam_num,$relleno,STR_PAD_LEFT);
 $total  = str_pad($total ,$tam_num,$relleno,STR_PAD_LEFT);

 echo $fecha."_".$rfc."_".$serie.$folio."_".$subTotal."_".$iva."_".$total;
?>
Una vez que se tienen estos archivos renombrados es mucho más fácil encontrar el comprobante de una compra.
En mi caso hago en la linea de comandos de windows:
dir /b /s *.xml > listaCFD.txt

El cual me genera el listado de mis comprobantes, esta lista la paso a un excel, y este excel es mucho más facil de comprender para mi contador.



ToDo List:

- Leer el directorio que contiene los archivos xml
- Renombrar el xml.
- Generar y/o actualizar automaticamente el listado de excel
- Validar en el SAT la autenticidad del CFD


Comentarios

Anónimo dijo…
Gracias, busque muchas paginas y muchos ejemplos, el tuyo si funciona y es el mejor.

Entradas más populares de este blog

¿Por qué me gusta programar?

El desarrollo de software (al igual que la música, la escultura o la pintura) es una actividad creativa y, hasta si se quiere, artística. Cuando un músico escucha una melodía que acaba de componer o cuando un escultor retoca el último detalle de su obra maestra, está ante un logro personal, pero que fue hecho pensando en los demás. Está ante el fruto de su trabajo, que tuvo que realizar para pasar de una idea o modelo que estaba solo en su imaginación, a algo perceptible por los otros. Y ese logro causa una gran satisfacción. El desarrollo de software (al igual que la música, la escultura o la pintura) es una actividad creativa y, hasta si se quiere, artística. Es una actividad en la que una persona (el programador) debe plasmar una idea en un programa que alguien usará luego. Y es muy probable que esa idea sea algo totalmente novedoso, algo que nadie antes ha visto. Y ver esa idea traducida en software produce una sensación que únicamente un programador puede entender...

Migración de ext4 a BTRFS: Mi experiencia con Debian 12

Recientemente me embarqué en la aventura de migrar mi sistema Debian 12 del tradicional sistema de archivos ext4 a BTRFS. En este artículo, comparto mi experiencia completa, desde la planificación hasta la implementación final, incluyendo los obstáculos que encontré y cómo los superé. ¿Por qué migrar a BTRFS? Antes de entrar en los detalles técnicos, quiero explicar brevemente por qué decidí dar este salto: Instantáneas (snapshots) : La capacidad de crear puntos de restauración del sistema de forma rápida y eficiente. Compresión transparente : Ahorro de espacio en disco sin sacrificar rendimiento. Checksums para integridad : Protección automática contra la corrupción silenciosa de datos. Balanceo inteligente : Redistribución de datos que optimiza el uso del almacenamiento. Preparación para el futuro : BTRFS sigue evolucionando con nuevas características. Mi configuración inicial Mi sistema contaba con la siguiente estructura: /dev/sdb1 - 512M - Partición EFI /dev/sdb2 - 58.8G -...

USA tu CELULAR como WEBCAM en el MSN

Este tutorial lo saque de CLUB MOTOROLA ARGENTINA. Es muy bueno, para los que no tenemos una webcam. Ademas de que le podemos sacar mas provecho a nuestor celular. Mi telefono es un C650, y funciono de maravilla. *********************** (Este tuto sirve solo para los motorola VXXX y algunos CXXX) 1º Bajan estos dos programas. Soft Cam junto con su Crack Motocam 2º Abren el motocam y le dan click a lo que esta en el cuadro rojo. 3º ponen todas esas configuraciones como indican las imagenes. 4º Le dan click a Ok 5º Instalan el soft cam y el crack 6º Mueven la palanquita que dice Stored a Live y la de Still a move 7º Vuelven al Motocam y le dan click a WebCam - Start 8º Ubican el cuadro dorado del SoftCam sobre lo q ve la camara. Y ya tienen su webcam en el msn!! Gracias capocha por la GRAN ayuda! Esto lo probe en un v3black; y un v635; anduvo en los dos. Hagan sus pruebas ustedes mismos. Cuenten como les fue y con q cel lo hicieron. No esperen q ande como cuando ponen el visor para s...