nfephp-org / sped-efd

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

Validação dos elementos do EFD Contribuições #472

Closed ADSRP closed 3 years ago

ADSRP commented 4 years ago

No elemento C170 do contribuições:

  • O CST_PIS a validação está: "^((0[1-9])|49|99)$", mas no documento não fala sobre essa validação.
  • Na função "postValidation()" para pegar os ultimos caracteres do cst_icms, está pegando apenas um.

No elemento C175 do contribuições:

  • Validação do campo VL_COFINS, no documento diz: _Validação: o valor do campo “VL_COFINS” deve corresponder ao valor da base de cálculo (campo 12 ou campo 14) multiplicado pela alíquota aplicável ao item (campo 13 ou campo 15). No caso de aplicação da alíquota do campo 13, o resultado deverá ser dividido pelo valor “100”. Exemplo: Sendo o Campo 12 (VL_BC_COFINS) = 1.000.000,00 e o Campo 13 (ALIQ_PIS) = 7,600, então o Campo 16 (VLCOFINS) será igual a: 1.000.000,00 x 7,6 / 100 = 76.000,00. O campo 13 seria: "ALIQ_COFINS", mas na explicação ta "ALIQ_PIS", não entendi o porque, mas na validação não é dividido por 100
  • O campo quant_bc_cofins não é obrigatorio, mas quando deixo de passar o valor da erro "Undefined property: stdClass::$quant_bc_cofins"

No elemento M800 do contribuições:

  • O campo "CST_COFINS" validação está: "^((5[0-6])|(6[0-6])|(7[0-5])|98|99)$" mas no documento diz que os valores validos são: "[04, 05, 06, 07, 08, 09]"
robmachado commented 4 years ago

Subi alguns ajustes teste ai por favor !

ADSRP commented 4 years ago

Subi alguns ajustes teste ai por favor !

Conferir, está ok, a única observação que tenho a fazer, é que o campo VL_COFINS do elemento C175 do contribuições, exige que o VL_BC_COFINS seja multiplicado pelo ALIQ_COFINS e dividido por 100, exemplo: *(VL_BC_COFINS ALIQ_COFINS) / 100**