nfephp-org / sped-efd
生成SPED EFD文件的API
Requires
- php: >= 7.4
- ext-json: *
- nfephp-org/sped-common: ^5.1.0
Requires (Dev)
- phpstan/phpstan: ^1.4
- phpunit/phpunit: ^9.3
- scrutinizer/ocular: ^1.8
- sebastian/phpcpd: ^6.0
- squizlabs/php_codesniffer: ^3.6
This package is auto-updated.
Last update: 2024-09-11 21:17:43 UTC
README
https://stackoverflow.com/questions/8549496/how-can-i-create-a-function-dynamically
- Contrib/M215
- Contrib/M615
- Contrib/Z1601
EM DESENVOLVIMENTO
用于生成SPED EFD(税务ICMS IPI)和SPED EFD贡献的类
EFD ICMS IPI v3.1.3 格式 17 - 从2022年1月1日起/2023年4月1日起有效。
EFD Contribuições v1.35 格式 6 - 从2019年1月1日起有效。
重要
注意:元素不再抛出异常,而是加载一个公共属性errors[],其中包含每个元素中识别的所有错误。
注意:块类和EFD类本身将从其构成元素的公共属性errors[]继承errros[]。
SPED EFD版式版本控制
版本控制是通过存储文件夹中的json文件实现的。
storage/layouts/ICMSIPI/vigencias.json
此json包含版式代码、版本、起始有效日期和终止有效日期,这些信息从Sped表(请参阅Sped门户)中获取。
应在每个块的构造函数中传递一个包含版式代码的字符串,然后这些块将通过此代码和有效期数据将它们传递给属于该块的每个元素。
每个元素和版本的构造结构应保存为名为版式代码的文件夹中的json文件。例如
- storage/layouts/ICMSIPI/v017
当内部创建或编辑元素时,它必须包含与现有最新版本相关的结构。
如果需要017之前的版本,则必须在适当的文件夹中为每个元素创建json元素。
详细说明
- 该项目的目的是仅仅提供从ERP系统提供的数据创建EFD ICMS/IPI和贡献文件的手段。
- 在生成传输文件之前,必须先在ERP内部预先处理和整合这些数据。
- 为了理解文件发送的组装过程,了解这些数据和研究国家税务总局的文档是强制性的。
- 将有数百个类!!!每个块中的一个元素,这些元素可以是唯一的、多个、必需的或非必需的,这取决于一系列条件,这些条件不由该构建器管理。
- 组装块的过程很复杂,需要处理时间和内存,考虑到可能存在的数据量。
- 生成文件后,应由税务局的官方验证器进行验证,并通过Receitanet进行传输,无法通过webservice自动验证和传输
请使用Gitter聊天室来开始关于此包开发的特定讨论。
字段细节
所有“C”字段字符串仅包含ASCII字符,不允许其他字符集,建议使用“大写”
所有“N”字段仅包含数字,如下所示
$ 1.129.998,99 => 1129998,99
1.255,42 => 1255,42
234,567 => 234,567
10.000 => 10000
10.000,00 => 10000 或 10000,00
17,00 % => 17,00 或 17
18,50 % => 18,5 或 18,50
30 => 30
1.123,456 Kg => 1123,456
0,010 litros => 0,010
0,00 => 0 或 0,00
0 => 0
空字段 =>
注意每种情况中的小数位数
鸣谢
Roberto L. Machado(所有者和开发者)
许可证
此软件包可供使用LGPLv3或MIT许可证(MIT)。请阅读许可证文件获取更多信息。