Catálogos de SAT para CFDI 3.3 (spanish)
Esta librería permite usar los catálogos del SAT para CFDI version 3.3 publicados en [http://www.sat.gob.mx/informacion_fiscal/factura_electronica/Paginas/Anexo_20_version3.3.aspx].
Los catálogos no solo son los que se publican directamente para CFDI, también están los catálogos de los complementos y los complementos de conceptos.
Consulte el wiki para mayor información.
Use composer, so please run
composer require phpcfdi/satcatalogos
<?php
$satCatalogos = new \PhpCfdi\SatCatalogos\SatCatalogos();
$aduanas = $satCatalogos->aduanas();
$aduana = $aduanas->obtain('24');
echo $aduana->texto(); // NUEVO LAREDO, NUEVO LAREDO, TAMAULIPAS.
Si usted sabe de algún cambio en los catálogos del SAT (CFDI, complementos o complemento de concepto) y el cambio no se encuentra publicado por favor abra un nuevo Issue describiendo lo encontrado
Los catálogos en realidad son objetos que permiten obtener entradas. Hay catálogos cuyas entradas con mínimas, pero hay catálogos que tienen miles de registros. Por eso los catálogos son almacenados en una base de datos de sqlite.
Usted no debe modificar la base de datos de sqlite, esto equivale a modificar el código fuente.
Esta librería no contiene métodos para manipular la base de datos. Para esta librería la base de datos es simplemente un repositorio de datos de lectura. Bien podría tratarse de datos en formato JSON, sin embargo al desarrolar la aplicación no encontramos una forma ágil y de pocos recursos para leer en un formato diferente.
Esta librería incrementará de versión siguiendo el concepto de semantic versioning en donde:
- Se modifica la versión mayor si hay un cambio en la API que requiere que usted tenga que cambiar el código fuente.
- También se hacen cambios mayores si la estructura de los datos publicados por el SAT cambia dramáticamente.
- Se modifica la versión menor si hay un cambio en la API que es compatible con versiones anteriores, como por ejemplo, que se agregue un nuevo catálogo o se agregue un nuevo campo a un catálogo existente.
- Se modifica la versión menor cuando hay alguna corrección o bien hay una nueva publicación de los catálogos que respeta la estructura existente.
- Es probable que, en una nueva versión no cambie el código fuente pero sí el archivo de base de datos donde se almacenan los catálogos
La actualización de los catálogos está fuera de los límites de esta librería. La tarea de actualizar los catálogos estará en otro proyecto separado que:
- Revise periódicamente si las ligas de publicación de los catálogos no han cambiado.
- Si cambiaron deberá generar una incidencia.
- Si no han cambiado reportar sin cambios.
- Revise periódicamente si existe una nueva versión de los catálogos.
- Si hay un nuevo origen de datos con una versión diferente a la almacenada entonces
- Reportar los cambios
- Si el origen no es automatizable entonces se deberá generar una incidencia
- Si el origen es automatizable entonces deberá proceder a actualizar
- Si al intentar actualizar
- La estructura es la misma y los datos son los mismos, reportar sin cambios.
- La estructura es la misma y los datos cambiarion, reportar los cambios.
- La estructura cambió, generar una incidencia.
Esta librería es compatible con PHP versions 7.0 y superior. Por favor, intente usar el mayor potencial del lenguaje. La librería intenta seguir la compatibilidad de versiones con Debian/GNU Linux versión estable.
¡Sus colaboraciones son bienvenidas! Por favor, lea el documento CONTRIBUTING (en inglés) para más detalles. No olvide leer también la documentación de TODO y el archivo de CHANGELOG.
La librería PhpCfdi/SatCatalogos tiene copyright © Carlos C Soto y está publicada bajo la licencia MIT License (MIT). Lea el archivo LICENSE para mayor información.
The PhpCfdi/SatCatalogos library is copyright © Carlos C Soto and licensed for use under the MIT License (MIT). Please see LICENSE for more information.