ads-system / sped-nfe
API用于生成和与授权的SEFAZ通信NFe和NFCe。
Requires
- php: >= 7.4
- ext-dom: *
- ext-json: *
- ext-libxml: *
- ext-openssl: *
- ext-simplexml: *
- ext-soap: *
- ext-zlib: *
- ads-system/sped-common: ^5.1.0
- ads-system/sped-gtin: ^1.1.0
- justinrainbow/json-schema: ^5.2
Requires (Dev)
- phpcompatibility/php-compatibility: ^9.3
- phpstan/phpstan: ^1.4
- phpunit/phpunit: ^9.3
- squizlabs/php_codesniffer: ^3.6
This package is auto-updated.
Last update: 2024-09-24 18:22:01 UTC
README
这是一个用于生成与授权的SEFAZ通信NFe的库,旨在提供生成、签名和发送SEFAZ Sped NFe项目数据的手段。
更新
- NT 2020.006 中间商
- NT 2020.007 NFe运输方相关事件
- NT 2021_001 交付凭证事件
- NT 2021.004 v1.20 验证规则和新字段(自2022年5月16日起在生产中有效)
- NT 2023.001 v1.10 创建和更新验证规则以符合ICMS单一税率制度(自2023年3月30日起有效)
- NT 2023.001 v1.20 燃料单一税率征税(于2023年4月20日进行认证,并于2023年5月1日投入生产)
- NT 2019.001 v1.60 创建和更新验证规则
- NT 2023.004 v1.00 财务对账事件(缺少财务对账事件!)
- NT 2023.005 v1.00 交付失败事件
注意:这些NT主要影响TXT用于XML转换的使用,即使字段尚未被要求。
待办:与SEBRAE标准进行转换仍然不完整!!
请使用Gitter聊天开始有关此包开发的特定讨论。
支持州
NFe(模型55)全部
NFCe(模型65)全部
NFe与eCPF(个人实体发行人)
CE、PR和SP州不接受eCPF发行
AM和GO由于通信问题无法验证
所有其他州(似乎)已经接受eCPF发行
此包符合PSR-1、PSR-2和PSR-4标准。如果您观察到不符合规范的地方,请通过pull request发送补丁。
不要错过在NFePHP讨论组注册,以跟踪开发并参与讨论和解答疑问!
安装
此包在Packgist上列出,是为Composer开发的,因此不会明确说明任何安装替代方案。
应该使用以下命令安装:
composer require ads-system/sped-nfe
或者,还可以通过修改您的应用程序的composer.json文件来安装
"require": { "nfephp-org/sped-nfe" : "^5.0" }
要使用开发分支(master)中的包,需要使用以下命令安装
composer require ads-system/sped-nfe:dev-master
或者,还可以通过修改您的应用程序的composer.json文件来安装
"require": { "nfephp-org/sped-nfe" : "dev-master" }
注意:在开发版本中使用此包时,不要忘记将您的应用程序的composer.json中的"minimum-stability"属性从"stable"更改为"dev",以接受开发包。
"minimum-stability": "dev"
要求
为了使此包正常工作,需要以下PHP和其他依赖包的要求。
- PHP 7.x(至少PHP 7.4,请始终查看徽章)
- ext-curl
- ext-dom
- ext-json
- ext-gd
- ext-mbstring
- ext-mcrypt
- ext-openssl
- ext-soap
- ext-xml
- ext-zip
- sped-common
对于SPED的其他必要操作,可以(可选地)使用其他包,例如
我在我的项目中如何使用这个API?
首先,这个API使用了PHP的最新资源,例如类和对象,因此以下是一个错误的用法示例
require 'sped-nfe/src/Make.php';
$nfe = new Make();
因此,您首先需要理解,为了使用此API,您需要与NAMESPACES一起工作,因为此API使用NAMESPACES。
现在您知道NAMESPACES是必需的,上面的示例的正确用法应该是
// VENDOR_DIR = pasta vendor da sua instalação composer
require VENDOR_DIR . 'autoload.php';
use NFePHP\NFe\Make;
$nfe = new Make();
捐赠
我们正在寻找捐赠者和赞助商来资助此软件包和其他软件包的部分开发。如果您对此感兴趣,请通过电子邮件联系作者 linux.rlm@gmail.com
这是一个完全的开源项目,使用、复制或修改它您无需支付任何费用。但是,为了继续适当维护它,我们需要一些贡献,无论是编码、文档、测试和错误识别。
但是,如果您认为这里获得的信息对您有所帮助,并且认为这值得一些金钱,并且愿意捐赠,请随时发送任何金额,无论是直接给作者还是通过PayPal和PagSeguro。
致谢
- 向所有以某种方式参与此API持续开发的同学表示感谢。
文档
文档过程仍在初期,但已经有一些有用的文档。
贡献
为了贡献BUG修正、代码改进、文档、测试或任何其他技术编程帮助,请参阅CONTRIBUTING和行为准则以获取更多信息。
变更日志
查看CHANGELOG以获取关于最近更改的更多信息。
测试
所有测试都是为与PHPUNIT一起操作而开发的
安全
如果您发现与安全相关的问题,请直接向软件包维护者发送电子邮件,而不是创建一个ISSUE。
鸣谢
Roberto L. Machado(所有者和开发者)
许可
此软件包可在LGPLv3或MIT许可下使用(MIT)。有关更多信息,请参阅许可文件。