nfephp-org / sped-efd

Classes para a geração do SPED EFD (fiscal e contribuições)
Other
32 stars 43 forks source link

sped-efd

https://stackoverflow.com/questions/8549496/how-can-i-create-a-function-dynamically

EM DESENVOLVIMENTO

Classes para a geração do SPED EFD (fiscal ICMS IPI) e para o SPED EFD contribuições

EFD ICMS IPI v3.1.3 Leiaute 17 - válido a partir de 01 de janeiro de 2022/abril de 2023.

EFD Contribuições v1.35 Leiaute 6 - válido a partir de 01 de janeiro de 2019.

IMPORTANTE

NOTA: Os elementos não mais irão retornar Exceptions, e sim carregar uma propriedade pública errors[], contendo todos os erros identificados em cada elemento.

NOTA: As classes dos blocos e as próprias classes EFD herdarão os errros[] de seus elementos constituintes em propriedade pública errors[] de cada uma dessas classes.

Controle de Versões de Layouts do EFD

O controle de versões é feito com jsons na pasta storage.

storage/layouts/ICMSIPI/vigencias.json

Este json contêm o codigo de leyout, versão, data inicial e a data final de vigência, obtido nas tabelas do Sped (vide portal Sped)

Deve ser passado uma string com o codigo do layaut no construtor de cada bloco, este por sua vez irão passar esse codigo e os demais dados de vigencia para cada elemento que pertença a esse bloco.

As estruturas construtivas de cada elemento e versão, deverão ser salvos como json na pasta denominada pelo codigo da versão. por exemplo:

Ao ser criado ou editado o elemento internamente ele deve conter a estrutura referente a ultima versão existente.

Caso se necessite de versões anteriores a 017, estas deverão ser criadas como json elemente por elemento na pasta adequada.

DETALHES

Utilize o chat do Gitter para iniciar discussões específicas sobre o desenvolvimento deste pacote.

Chat Actions Coverage Status Quality Score

Latest Stable Version Latest Version on Packagist License Total Downloads

Issues Forks Stars

Detalhes dos Campos

Todos os campos "C" strings apenas com caracteres ASCII, não são permitidos outro charsets, preferencialmente em "MAIUSCULAS"

Todos os campos "N" apenas numericos como:

$ 1.129.998,99 => 1129998,99

1.255,42 => 1255,42

234,567 => 234,567

10.000 => 10000

10.000,00 => 10000 ou 10000,00

17,00 % => 17,00 ou 17

18,50 % => 18,5 ou 18,50

30 => 30

1.123,456 Kg => 1123,456

0,010 litros => 0,010

0,00 => 0 ou 0,00

0 => 0

campo vazio =>

Observando o numero de decimais em cada caso

Credits

Roberto L. Machado (owner and developer)

License

Este pacote está diponibilizado sob LGPLv3 ou MIT License (MIT). Leia Arquivo de Licença para maiores informações.