datitecnologia / sped-nfe
API 用于生成和与授权的 SEFAZ 通信的 NFe 和 NFCe。
Requires
- php: >= 7.2
- ext-dom: *
- ext-json: *
- ext-libxml: *
- ext-openssl: *
- ext-simplexml: *
- ext-soap: *
- ext-zlib: *
- datitecnologia/sped-common: ^1.0
- datitecnologia/sped-gtin: ^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 not auto-updated.
Last update: 2024-09-17 20:22:58 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 主要影响 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 讨论组以跟踪开发并参与讨论和提问。
安装
此包在 Packagist 上列出,专为Composer使用而开发,因此不会明确说明任何安装替代方案。
应该使用以下方式安装
composer require nfephp-org/sped-nfe
或者,您还可以修改您的应用程序的 composer.json 文件,插入以下内容
"require": { "nfephp-org/sped-nfe" : "^5.0" }
为了使用开发分支 (master) 中的包,必须使用以下方式安装
composer require nfephp-org/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,您需要使用 NAMESPACE,因为此 API 使用 NAMESPACE。
现在您知道 NAMESPACE 是必需的,上面的示例的正确用法应该是
// 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
这是一个完全 开源 的项目,使用它、复制它或修改它,您完全不需要支付任何费用。但是,为了继续以适当的方式维护它,需要一些贡献,无论是协助编码、文档、测试和故障排除和BUG。
但如果你认为这里获得的信息对你有帮助,并且认为这值得一些钱,并且愿意捐赠一些东西,那么你可以自由地发送任何金额,无论是直接发送给作者还是通过 PayPal 和 PagSeguro。
致谢
- 感谢所有以某种方式为此 API 持续开发做出贡献的同事。
文档
文档过程仍在开始阶段,但已经有一些有用的文档。
贡献
要为错误纠正、代码改进、文档、测试编制或任何其他技术编程援助做出贡献,请参阅 CONTRIBUTING 和 行为准则 以获取更多详细信息。
变更日志
跟踪 变更日志 以了解最新的更改。
测试
所有测试都是为了与 PHPUNIT 一起运行而开发的
安全
如果您发现任何安全问题,请直接向软件包维护者发送电子邮件,而不是打开一个 ISSUE。
信用
Roberto L. Machado(所有者和开发者)
许可
此软件包可在 LGPLv3 或 MIT 许可证(MIT)下使用。阅读 许可文件 以获取更多信息。