phpcfdi/sat-catalogos

SAT 目录用于 CFDI 3.3、CFDI 4.0 和 Nómina 1.2

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

This package is auto-updated.

Last update: 2024-09-04 19:07:53 UTC


README

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

SAT 目录用于 CFDI 3.3、CFDI 4.0 和 Nómina 1.2。

此库允许使用 SAT 目录

  • CFDI 3.3。
  • CFDI 4.0。
  • Nómina 1.2。

有关目录的更多信息,请参阅 目录信息

安装

使用 composer composer

composer require phpcfdi/sat-catalogos

您还需要相关数据库,可以从 phpcfdi/resources-sat-catalogs 项目获取。或者从 Linux 或 MAC 或 MS Windows 的 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.

有关目录和条目的信息

如果您知道 SAT 目录(CFDI、补充或补充概念)的任何更改,但更改尚未发布,请打开一个新的 Issue 描述找到的内容。

实际上,目录是允许获取条目的对象。有些目录的条目很少,但有些目录有数千个条目。

您不应该修改数据库,这相当于修改源代码。

此库不包含用于操作数据库的方法。数据库只是一个读取数据的仓库。它可以是 JSON 格式的数据,但在开发库时,我们没有找到一种快速且资源消耗较少的方法来读取不同的格式。

库版本控制

此库将根据 语义版本控制 概念进行版本升级,其中

  • 如果 API 发生变化,需要您更改源代码,则修改主版本号。
  • 如果 SAT 发布的数据结构发生重大变化,也会进行重大更改。
  • 如果 API 发生变化,但与旧版本兼容,如添加新目录或向现有目录添加新字段,则修改次版本号。
  • 进行修正时也会修改次版本号。

目录自动更新

从 SAT 更新目录超出此库的范围。

phpcfdi/resources-sat-catalogs 存储了此库工作所需的信息。

phpcfdi/sat-catalogos-populate 是我们用来维护资源的工具。

有关更多信息,请访问 PhpCfdi / 资源仓库

可以使用 bin/create-catalogs-database 脚本来自动化此任务。

支持

您可以在 Github 上打开工单以获得支持。

此外,此库属于 PhpCfdi 社区,因此您可以使用相同的沟通渠道从社区成员那里获得帮助。

兼容性

这个库将保持与至少具有最新活跃支持的PHP版本的兼容性。

我们还使用了语义版本2.0.0,因此您可以使用这个库而不用担心破坏您的应用程序。

贡献

欢迎贡献。请阅读CONTRIBUTING以获取更多详细信息,并请记住检查待办事项文件TODO和变更日志文件CHANGELOG

版权和许可

phpcfdi/catalogos库版权所有 © PhpCfdi,并按照MIT许可(MIT)许可使用。请参阅LICENSE以获取更多信息。