Catálogos de SAT para CFDI 3.3, CFDI 4.0 y Nómina 1.2.
Esta librería permite usar los catálogos del SAT para:
- CFDI 3.3.
- CFDI 4.0.
- Nómina 1.2.
Vea la Información general de catálogos para mayor información.
Utiliza composer composer:
composer require phpcfdi/sat-catalogos
También vas a requerir la base de datos relacionada con los catálogos, que puedes obtener desde el proyecto phpcfdi/resources-sat-catalogs. O ejecutando desde Linux o MAC o MS Windows con WSL:
bash bin/create-catalogs-database catalogs.db
<?php
declare(strict_types=1);
use PhpCfdi\SatCatalogos\Factory;
$dsn = sprintf('sqlite://%s/catalogos.db', __DIR__);
$factory = new Factory();
$satCatalogos = $factory->catalogosFromDsn($dsn);
$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 son mínimas, pero hay catálogos que tienen miles de registros.
Usted no debería modificar la base de datos, esto equivale a modificar el código fuente.
Esta librería no contiene métodos para manipular la base de datos. La base de datos es simplemente un repositorio de datos de lectura. Bien podría tratarse de datos en formato JSON, sin embargo, al desarrollar la librería 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 ya existente.
- Se modifica la versión menor cuando hay alguna corrección.
La actualización de los catálogos desde el SAT está fuera de los límites de esta librería.
El repositorio phpcfdi/resources-sat-catalogs contiene la información necesaria para que esta librería pueda trabajar.
A su vez, phpcfdi/sat-catalogos-populate es la herramienta que utilizamos para mantener el recurso actualizado.
Para más información visita PhpCfdi / Repositorios de recursos.
Se puede utilizar el script bin/create-catalogs-database
para automatizar esta tarea.
Puedes obtener soporte abriendo un ticket en Github.
Adicionalmente, esta librería pertenece a la comunidad PhpCfdi, así que puedes usar los mismos canales de comunicación para obtener ayuda de algún miembro de la comunidad.
Esta librería se mantendrá compatible con al menos la versión con soporte activo de PHP más reciente.
También utilizamos Versionado Semántico 2.0.0 por lo que puedes usar esta librería sin temor a romper tu aplicación.
Las contribuciones son bienvenidas. Por favor lee CONTRIBUTING para más detalles y recuerda revisar el archivo de tareas pendientes TODO y el archivo CHANGELOG.
The phpcfdi/catalogos
library is copyright © PhpCfdi
and licensed for use under the MIT License (MIT). Please see LICENSE for more information.