phpcfdi/sat-catalogos

Catálogos de SAT para CFDI 3.3, CFDI 4.0 y Nómina 1.2

v0.3.1 2023-07-04 16:44 UTC

This package is auto-updated.

Last update: 2024-11-04 19:27:58 UTC


README

Source Code Latest Version Software License Build Status Scrutinizer Coverage Status Total Downloads

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.

Instalació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

Uso básico

<?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.

Acerca de los catálogos y las entradas de los mismos

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.

Versionado de la librería

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.

Actualización automatizada de catálogos

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.

Soporte

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.

Compatibilidad

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.

Contribuciones

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.

Copyright and License

The phpcfdi/catalogos library is copyright © PhpCfdi and licensed for use under the MIT License (MIT). Please see LICENSE for more information.