@@ 9-91 (lines=83) @@ | ||
6 | use NFePHP\EFD\Common\ElementInterface; |
|
7 | use \stdClass; |
|
8 | ||
9 | class C381 extends Element implements ElementInterface |
|
10 | { |
|
11 | const REG = 'C381'; |
|
12 | const LEVEL = 4; |
|
13 | const PARENT = 'C380'; |
|
14 | ||
15 | protected $parameters = [ |
|
16 | 'CST_PIS' => [ |
|
17 | 'type' => 'numeric', |
|
18 | 'regex' => '^(\d{2})$', |
|
19 | 'required' => false, |
|
20 | 'info' => 'Código da Situação Tributária referente ao PIS/PASEP', |
|
21 | 'format' => '' |
|
22 | ], |
|
23 | 'COD_ITEM' => [ |
|
24 | 'type' => 'string', |
|
25 | 'regex' => '^.{0,60}$', |
|
26 | 'required' => false, |
|
27 | 'info' => 'Código do item (campo 02 do Registro 0200)', |
|
28 | 'format' => '' |
|
29 | ], |
|
30 | 'VL_ITEM' => [ |
|
31 | 'type' => 'numeric', |
|
32 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
33 | 'required' => false, |
|
34 | 'info' => 'Valor total dos itens', |
|
35 | 'format' => '15v2' |
|
36 | ], |
|
37 | 'VL_BC_PIS' => [ |
|
38 | 'type' => 'numeric', |
|
39 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
40 | 'required' => false, |
|
41 | 'info' => 'Valor da base de cálculo do PIS/PASEP', |
|
42 | 'format' => '15v2' |
|
43 | ], |
|
44 | 'ALIQ_PIS' => [ |
|
45 | 'type' => 'numeric', |
|
46 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
47 | 'required' => false, |
|
48 | 'info' => 'Alíquota do PIS/PASEP (em percentual)', |
|
49 | 'format' => '8v4' |
|
50 | ], |
|
51 | 'QUANT_BC_PIS' => [ |
|
52 | 'type' => 'numeric', |
|
53 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
54 | 'required' => false, |
|
55 | 'info' => 'Quantidade – Base de cálculo do PIS/PASEP', |
|
56 | 'format' => '15v3' |
|
57 | ], |
|
58 | 'ALIQ_PIS_QUANT' => [ |
|
59 | 'type' => 'numeric', |
|
60 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
61 | 'required' => false, |
|
62 | 'info' => 'Alíquota do PIS/PASEP (em reais)', |
|
63 | 'format' => '15v4' |
|
64 | ], |
|
65 | 'VL_PIS' => [ |
|
66 | 'type' => 'numeric', |
|
67 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
68 | 'required' => false, |
|
69 | 'info' => 'Valor do PIS/PASEP', |
|
70 | 'format' => '15v2' |
|
71 | ], |
|
72 | 'COD_CTA' => [ |
|
73 | 'type' => 'string', |
|
74 | 'regex' => '^.{0,255}$', |
|
75 | 'required' => false, |
|
76 | 'info' => 'Código da conta analítica contábil debitada/creditada', |
|
77 | 'format' => '' |
|
78 | ], |
|
79 | ||
80 | ]; |
|
81 | ||
82 | /** |
|
83 | * Constructor |
|
84 | * @param \stdClass $std |
|
85 | */ |
|
86 | public function __construct(\stdClass $std) |
|
87 | { |
|
88 | parent::__construct(self::REG); |
|
89 | $this->std = $this->standarize($std); |
|
90 | } |
|
91 | } |
|
92 |
@@ 9-91 (lines=83) @@ | ||
6 | use NFePHP\EFD\Common\ElementInterface; |
|
7 | use \stdClass; |
|
8 | ||
9 | class C481 extends Element implements ElementInterface |
|
10 | { |
|
11 | const REG = 'C481'; |
|
12 | const LEVEL = 5; |
|
13 | const PARENT = 'C400'; |
|
14 | ||
15 | protected $parameters = [ |
|
16 | 'CST_PIS' => [ |
|
17 | 'type' => 'numeric', |
|
18 | 'regex' => '^((0[1-9])|49|99)$', |
|
19 | 'required' => false, |
|
20 | 'info' => 'Código da Situação Tributária referente ao PIS/PASEP', |
|
21 | 'format' => '' |
|
22 | ], |
|
23 | 'VL_ITEM' => [ |
|
24 | 'type' => 'numeric', |
|
25 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
26 | 'required' => false, |
|
27 | 'info' => 'Valor total dos itens', |
|
28 | 'format' => '15v2' |
|
29 | ], |
|
30 | 'VL_BC_PIS' => [ |
|
31 | 'type' => 'numeric', |
|
32 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
33 | 'required' => false, |
|
34 | 'info' => 'Valor da base de cálculo do PIS/PASEP', |
|
35 | 'format' => '15v2' |
|
36 | ], |
|
37 | 'ALIQ_PIS' => [ |
|
38 | 'type' => 'numeric', |
|
39 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
40 | 'required' => false, |
|
41 | 'info' => 'Alíquota do PIS/PASEP (em percentual)', |
|
42 | 'format' => '8v4' |
|
43 | ], |
|
44 | 'QUANT_BC_PIS' => [ |
|
45 | 'type' => 'numeric', |
|
46 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
47 | 'required' => false, |
|
48 | 'info' => 'Quantidade – Base de cálculo PIS/PASEP', |
|
49 | 'format' => '15v3' |
|
50 | ], |
|
51 | 'ALIQ_PIS_QUANT' => [ |
|
52 | 'type' => 'numeric', |
|
53 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
54 | 'required' => false, |
|
55 | 'info' => 'Alíquota do PIS/PASEP (em reais)', |
|
56 | 'format' => '15v4' |
|
57 | ], |
|
58 | 'VL_PIS' => [ |
|
59 | 'type' => 'numeric', |
|
60 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
61 | 'required' => false, |
|
62 | 'info' => 'Valor do PIS/PASEP', |
|
63 | 'format' => '15v2' |
|
64 | ], |
|
65 | 'COD_ITEM' => [ |
|
66 | 'type' => 'string', |
|
67 | 'regex' => '^.{0,60}$', |
|
68 | 'required' => false, |
|
69 | 'info' => 'Código do item (campo 02 do Registro 0200)', |
|
70 | 'format' => '' |
|
71 | ], |
|
72 | 'COD_CTA' => [ |
|
73 | 'type' => 'string', |
|
74 | 'regex' => '^.{0,255}$', |
|
75 | 'required' => false, |
|
76 | 'info' => 'Código da conta analítica contábil debitada/creditada', |
|
77 | 'format' => '' |
|
78 | ], |
|
79 | ||
80 | ]; |
|
81 | ||
82 | /** |
|
83 | * Constructor |
|
84 | * @param \stdClass $std |
|
85 | */ |
|
86 | public function __construct(\stdClass $std) |
|
87 | { |
|
88 | parent::__construct(self::REG); |
|
89 | $this->std = $this->standarize($std); |
|
90 | } |
|
91 | } |
|
92 |
@@ 16-97 (lines=82) @@ | ||
13 | * ao consumidor, não emitidas por ECF. |
|
14 | * @package NFePHP\EFD\Elements\ICMSIPI |
|
15 | */ |
|
16 | class C321 extends Element implements ElementInterface |
|
17 | { |
|
18 | const REG = 'C321'; |
|
19 | const LEVEL = 4; |
|
20 | const PARENT = ''; |
|
21 | ||
22 | protected $parameters = [ |
|
23 | 'COD_ITEM' => [ |
|
24 | 'type' => 'string', |
|
25 | 'regex' => '^.{0,60}$', |
|
26 | 'required' => false, |
|
27 | 'info' => 'Código do item (campo 02 do Registro 0200)', |
|
28 | 'format' => '' |
|
29 | ], |
|
30 | 'QTD' => [ |
|
31 | 'type' => 'numeric', |
|
32 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
33 | 'required' => false, |
|
34 | 'info' => 'Quantidade acumulada do item', |
|
35 | 'format' => '15v3' |
|
36 | ], |
|
37 | 'UNID' => [ |
|
38 | 'type' => 'string', |
|
39 | 'regex' => '^.{0,6}$', |
|
40 | 'required' => false, |
|
41 | 'info' => 'Unidade do item (Campo 02 do registro 0190)', |
|
42 | 'format' => '' |
|
43 | ], |
|
44 | 'VL_ITEM' => [ |
|
45 | 'type' => 'numeric', |
|
46 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
47 | 'required' => false, |
|
48 | 'info' => 'Valor acumulado do item', |
|
49 | 'format' => '15v2' |
|
50 | ], |
|
51 | 'VL_DESC' => [ |
|
52 | 'type' => 'numeric', |
|
53 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
54 | 'required' => false, |
|
55 | 'info' => 'Valor do desconto acumulado', |
|
56 | 'format' => '15v2' |
|
57 | ], |
|
58 | 'VL_BC_ICMS' => [ |
|
59 | 'type' => 'numeric', |
|
60 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
61 | 'required' => false, |
|
62 | 'info' => 'Valor acumulado da base de cálculo do ICMS', |
|
63 | 'format' => '15v2' |
|
64 | ], |
|
65 | 'VL_ICMS' => [ |
|
66 | 'type' => 'numeric', |
|
67 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
68 | 'required' => false, |
|
69 | 'info' => 'Valor acumulado do ICMS debitado', |
|
70 | 'format' => '15v2' |
|
71 | ], |
|
72 | 'VL_PIS' => [ |
|
73 | 'type' => 'numeric', |
|
74 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
75 | 'required' => false, |
|
76 | 'info' => 'Valor acumulado do PIS', |
|
77 | 'format' => '15v2' |
|
78 | ], |
|
79 | 'VL_COFINS' => [ |
|
80 | 'type' => 'numeric', |
|
81 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
82 | 'required' => false, |
|
83 | 'info' => 'Valor acumulado da COFINS', |
|
84 | 'format' => '15v2' |
|
85 | ], |
|
86 | ]; |
|
87 | ||
88 | /** |
|
89 | * Constructor |
|
90 | * @param \stdClass $std |
|
91 | */ |
|
92 | public function __construct(\stdClass $std) |
|
93 | { |
|
94 | parent::__construct(self::REG); |
|
95 | $this->std = $this->standarize($std); |
|
96 | } |
|
97 | } |
|
98 |
@@ 9-90 (lines=82) @@ | ||
6 | use NFePHP\EFD\Common\ElementInterface; |
|
7 | use \stdClass; |
|
8 | ||
9 | class D162 extends Element implements ElementInterface |
|
10 | { |
|
11 | const REG = 'D162'; |
|
12 | const LEVEL = 4; |
|
13 | const PARENT = ''; |
|
14 | ||
15 | protected $parameters = [ |
|
16 | 'COD_MOD' => [ |
|
17 | 'type' => 'string', |
|
18 | 'regex' => '^[0-9]{2}$', |
|
19 | 'required' => true, |
|
20 | 'info' => 'Código do modelo do documento fiscal, conforme a tabela 4.1.1', |
|
21 | 'format' => '' |
|
22 | ], |
|
23 | 'SER' => [ |
|
24 | 'type' => 'string', |
|
25 | 'regex' => '^[0-9]{4}$', |
|
26 | 'required' => true, |
|
27 | 'info' => 'Série do documento fiscal', |
|
28 | 'format' => '' |
|
29 | ], |
|
30 | 'NUM_DOC' => [ |
|
31 | 'type' => 'numeric', |
|
32 | 'regex' => '^[0-9]{9}$', |
|
33 | 'required' => true, |
|
34 | 'info' => 'Número do documento fiscal', |
|
35 | 'format' => '' |
|
36 | ], |
|
37 | 'DT_DOC' => [ |
|
38 | 'type' => 'numeric', |
|
39 | 'regex' => '', |
|
40 | 'required' => true, |
|
41 | 'info' => 'Data da emissão do documento fiscal', |
|
42 | 'format' => '' |
|
43 | ], |
|
44 | 'VL_DOC' => [ |
|
45 | 'type' => 'numeric', |
|
46 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
47 | 'required' => true, |
|
48 | 'info' => 'Valor total do documento fiscal', |
|
49 | 'format' => '15v2' |
|
50 | ], |
|
51 | 'VL_MERC' => [ |
|
52 | 'type' => 'numeric', |
|
53 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
54 | 'required' => true, |
|
55 | 'info' => 'Valor das mercadorias constantes no documento fiscal', |
|
56 | 'format' => '15v2' |
|
57 | ], |
|
58 | 'QTD_VOL' => [ |
|
59 | 'type' => 'numeric', |
|
60 | 'regex' => '', |
|
61 | 'required' => true, |
|
62 | 'info' => 'Quantidade de volumes transportados', |
|
63 | 'format' => '' |
|
64 | ], |
|
65 | 'PESO_BRT' => [ |
|
66 | 'type' => 'numeric', |
|
67 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
68 | 'required' => true, |
|
69 | 'info' => 'Peso bruto dos volumes transportados (em kg)', |
|
70 | 'format' => '15v2' |
|
71 | ], |
|
72 | 'PESO_LIQ' => [ |
|
73 | 'type' => 'numeric', |
|
74 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
75 | 'required' => true, |
|
76 | 'info' => 'Peso líquido dos volumes transportados (em kg)', |
|
77 | 'format' => '15v2' |
|
78 | ] |
|
79 | ]; |
|
80 | ||
81 | /** |
|
82 | * Constructor |
|
83 | * @param \stdClass $std |
|
84 | */ |
|
85 | public function __construct(\stdClass $std) |
|
86 | { |
|
87 | parent::__construct(self::REG); |
|
88 | $this->std = $this->standarize($std); |
|
89 | } |
|
90 | } |
|
91 |
@@ 9-92 (lines=84) @@ | ||
6 | use NFePHP\EFD\Common\ElementInterface; |
|
7 | use \stdClass; |
|
8 | ||
9 | class E113 extends Element implements ElementInterface |
|
10 | { |
|
11 | const REG = 'E113'; |
|
12 | const LEVEL = 5; |
|
13 | const PARENT = 'E111'; |
|
14 | ||
15 | protected $parameters = [ |
|
16 | 'COD_PART' => [ |
|
17 | 'type' => 'string', |
|
18 | 'regex' => '^\d{1,60}+$', |
|
19 | 'required' => true, |
|
20 | 'info' => 'Código do participante (campo 02 do Registro 0150):' |
|
21 | .'- do emitente do documento ou do remetente das mercadorias, no caso de entradas;' |
|
22 | .'- do adquirente, no caso de saídas', |
|
23 | 'format' => '' |
|
24 | ], |
|
25 | 'COD_MOD' => [ |
|
26 | 'type' => 'string', |
|
27 | 'regex' => '^\d{2}$', |
|
28 | 'required' => true, |
|
29 | 'info' => 'Código do modelo do documento fiscal, conforme a Tabela 4.1.1', |
|
30 | 'format' => '' |
|
31 | ], |
|
32 | 'SER' => [ |
|
33 | 'type' => 'string', |
|
34 | 'regex' => '^\d{1,4}+$', |
|
35 | 'required' => false, |
|
36 | 'info' => 'Série do documento fiscal', |
|
37 | 'format' => '' |
|
38 | ], |
|
39 | 'SUB' => [ |
|
40 | 'type' => 'integer', |
|
41 | 'regex' => '^\d{1,3}+$', |
|
42 | 'required' => false, |
|
43 | 'info' => 'Subsérie do documento fiscal', |
|
44 | 'format' => '' |
|
45 | ], |
|
46 | 'NUM_DOC' => [ |
|
47 | 'type' => 'integer', |
|
48 | 'regex' => '^([1-9])([0-9]{0,8}|)$', |
|
49 | 'required' => true, |
|
50 | 'info' => 'Número do documento fiscal', |
|
51 | 'format' => '' |
|
52 | ], |
|
53 | 'DT_DOC' => [ |
|
54 | 'type' => 'integer', |
|
55 | 'regex' => '^(0[1-9]|[1-2][0-9]|31(?!(?:0[2469]|11))|30(?!02))(0[1-9]|1[0-2])([12]\d{3})$', |
|
56 | 'required' => true, |
|
57 | 'info' => 'Data da emissão do documento fiscal' , |
|
58 | 'format' => '' |
|
59 | ], |
|
60 | 'COD_ITEM' => [ |
|
61 | 'type' => 'string', |
|
62 | 'regex' => '^.{1,60}$', |
|
63 | 'required' => false, |
|
64 | 'info' => 'Código do item (campo 02 do Registro 0200)', |
|
65 | 'format' => '' |
|
66 | ], |
|
67 | 'VL_AJ_ITEM' => [ |
|
68 | 'type' => 'numeric', |
|
69 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
70 | 'required' => true, |
|
71 | 'info' => 'Valor do ajuste para a operação/item', |
|
72 | 'format' => '15v2' |
|
73 | ], |
|
74 | 'CHV_DOCE' => [ // CHV_DOCe |
|
75 | 'type' => 'string', |
|
76 | 'regex' => '^\d{44}$', |
|
77 | 'required' => false, |
|
78 | 'info' => 'Chave do Documento Eletrônico', |
|
79 | 'format' => '' |
|
80 | ] |
|
81 | ]; |
|
82 | ||
83 | /** |
|
84 | * Constructor |
|
85 | * @param \stdClass $std |
|
86 | */ |
|
87 | public function __construct(\stdClass $std) |
|
88 | { |
|
89 | parent::__construct(self::REG); |
|
90 | $this->std = $this->standarize($std); |
|
91 | } |
|
92 | } |
|
93 |
@@ 9-92 (lines=84) @@ | ||
6 | use NFePHP\EFD\Common\ElementInterface; |
|
7 | use \stdClass; |
|
8 | ||
9 | class E240 extends Element implements ElementInterface |
|
10 | { |
|
11 | const REG = 'E240'; |
|
12 | const LEVEL = 5; |
|
13 | const PARENT = 'E220'; |
|
14 | ||
15 | protected $parameters = [ |
|
16 | 'COD_PART' => [ |
|
17 | 'type' => 'string', |
|
18 | 'regex' => '^.{1,60}$', |
|
19 | 'required' => true, |
|
20 | 'info' => 'Código do participante (campo 02 do Registro 0150): ' |
|
21 | .'- do emitente do documento ou do remetente das mercadorias, no caso de entradas; ' |
|
22 | .'- do adquirente, no caso de saídas', |
|
23 | 'format' => '' |
|
24 | ], |
|
25 | 'COD_MOD' => [ |
|
26 | 'type' => 'string', |
|
27 | 'regex' => '^.{2}$', |
|
28 | 'required' => true, |
|
29 | 'info' => 'Código do modelo do documento fiscal, conforme a Tabela 4.1.1', |
|
30 | 'format' => '' |
|
31 | ], |
|
32 | 'SER' => [ |
|
33 | 'type' => 'string', |
|
34 | 'regex' => '^.{1,4}$', |
|
35 | 'required' => false, |
|
36 | 'info' => 'Série do documento fiscal', |
|
37 | 'format' => '' |
|
38 | ], |
|
39 | 'SUB' => [ |
|
40 | 'type' => 'integer', |
|
41 | 'regex' => '^.{1,3}$', |
|
42 | 'required' => false, |
|
43 | 'info' => 'Subsérie do documento fiscal', |
|
44 | 'format' => '' |
|
45 | ], |
|
46 | 'NUM_DOC' => [ |
|
47 | 'type' => 'integer', |
|
48 | 'regex' => '^([1-9])([0-9]{1,8}|)$', |
|
49 | 'required' => true, |
|
50 | 'info' => 'Número do documento fiscal', |
|
51 | 'format' => '' |
|
52 | ], |
|
53 | 'DT_DOC' => [ |
|
54 | 'type' => 'integer', |
|
55 | 'regex' => '^(0[1-9]|[1-2][0-9]|31(?!(?:0[2469]|11))|30(?!02))(0[1-9]|1[0-2])([12]\d{3})$', |
|
56 | 'required' => true, |
|
57 | 'info' => 'Data da emissão do documento fiscal', |
|
58 | 'format' => '' |
|
59 | ], |
|
60 | 'COD_ITEM' => [ |
|
61 | 'type' => 'string', |
|
62 | 'regex' => '^.{1,60}$', |
|
63 | 'required' => false, |
|
64 | 'info' => 'Código do item (campo 02 do Registro 0200)', |
|
65 | 'format' => '' |
|
66 | ], |
|
67 | 'VL_AJ_ITEM' => [ |
|
68 | 'type' => 'numeric', |
|
69 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
70 | 'required' => true, |
|
71 | 'info' => 'Valor do ajuste para a operação/item', |
|
72 | 'format' => '15v2' |
|
73 | ], |
|
74 | 'CHV_DOCE' => [ |
|
75 | 'type' => 'string', |
|
76 | 'regex' => '^.{44}$', |
|
77 | 'required' => false, |
|
78 | 'info' => 'Chave do Documento Eletrônico', |
|
79 | 'format' => '' |
|
80 | ] |
|
81 | ]; |
|
82 | ||
83 | /** |
|
84 | * Constructor |
|
85 | * @param \stdClass $std |
|
86 | */ |
|
87 | public function __construct(\stdClass $std) |
|
88 | { |
|
89 | parent::__construct(self::REG); |
|
90 | $this->std = $this->standarize($std); |
|
91 | } |
|
92 | } |
|
93 |
@@ 18-99 (lines=82) @@ | ||
15 | * NOTA: usada a letra Z no nome da Classe pois os nomes não podem ser exclusivamente |
|
16 | * numeréricos e também para não confundir os com elementos do bloco B |
|
17 | */ |
|
18 | class Z0005 extends Element implements ElementInterface |
|
19 | { |
|
20 | const REG = '0005'; |
|
21 | const LEVEL = 2; |
|
22 | const PARENT = '0001'; |
|
23 | ||
24 | protected $parameters = [ |
|
25 | 'FANTASIA' => [ |
|
26 | 'type' => 'string', |
|
27 | 'regex' => '^.{3,60}$', |
|
28 | 'required' => true, |
|
29 | 'info' => 'Nome de fantasia associado ao nome empresarial.', |
|
30 | 'format' => '' |
|
31 | ], |
|
32 | 'CEP' => [ |
|
33 | 'type' => 'string', |
|
34 | 'regex' => '^[0-9]{8}$', |
|
35 | 'required' => true, |
|
36 | 'info' => 'Código de Endereçamento Postal.', |
|
37 | 'format' => '' |
|
38 | ], |
|
39 | 'END' => [ |
|
40 | 'type' => 'string', |
|
41 | 'regex' => '^.{3,60}$', |
|
42 | 'required' => true, |
|
43 | 'info' => 'Logradouro e endereço do imóvel.', |
|
44 | 'format' => '' |
|
45 | ], |
|
46 | 'NUM' => [ |
|
47 | 'type' => 'string', |
|
48 | 'regex' => '^.{1,10}$', |
|
49 | 'required' => false, |
|
50 | 'info' => 'Número do imóvel.', |
|
51 | 'format' => '' |
|
52 | ], |
|
53 | 'COMPL' => [ |
|
54 | 'type' => 'string', |
|
55 | 'regex' => '^.{3,60}$', |
|
56 | 'required' => false, |
|
57 | 'info' => 'Dados complementares do endereço.', |
|
58 | 'format' => '' |
|
59 | ], |
|
60 | 'BAIRRO' => [ |
|
61 | 'type' => 'string', |
|
62 | 'regex' => '^.{3,60}$', |
|
63 | 'required' => true, |
|
64 | 'info' => 'Bairro em que o imóvel está situado.', |
|
65 | 'format' => '' |
|
66 | ], |
|
67 | 'FONE' => [ |
|
68 | 'type' => 'string', |
|
69 | 'regex' => '^[0-9]{8,11}$', |
|
70 | 'required' => false, |
|
71 | 'info' => 'Número do telefone (DDD+FONE).', |
|
72 | 'format' => '' |
|
73 | ], |
|
74 | 'FAX' => [ |
|
75 | 'type' => 'string', |
|
76 | 'regex' => '^[0-9]{8,11}$', |
|
77 | 'required' => false, |
|
78 | 'info' => 'Número do fax.', |
|
79 | 'format' => '' |
|
80 | ], |
|
81 | 'EMAIL' => [ |
|
82 | 'type' => 'string', |
|
83 | 'regex' => 'email', |
|
84 | 'required' => false, |
|
85 | 'info' => 'Endereço do correio eletrônico.', |
|
86 | 'format' => '' |
|
87 | ] |
|
88 | ]; |
|
89 | ||
90 | /** |
|
91 | * Constructor |
|
92 | * @param \stdClass $std |
|
93 | */ |
|
94 | public function __construct(\stdClass $std) |
|
95 | { |
|
96 | parent::__construct(self::REG); |
|
97 | $this->std = $this->standarize($std); |
|
98 | } |
|
99 | } |
|
100 |
@@ 9-91 (lines=83) @@ | ||
6 | use NFePHP\EFD\Common\ElementInterface; |
|
7 | use \stdClass; |
|
8 | ||
9 | class Z1110 extends Element implements ElementInterface |
|
10 | { |
|
11 | const REG = '1110'; |
|
12 | const LEVEL = 4; |
|
13 | const PARENT = '1105'; |
|
14 | ||
15 | protected $parameters = [ |
|
16 | 'COD_PART' => [ |
|
17 | 'type' => 'string', |
|
18 | 'regex' => '^.{1,60}$', |
|
19 | 'required' => true, |
|
20 | 'info' => 'Código do participante-Fornecedor da Mercadoria destinada ' |
|
21 | .'à exportação (campo 02 do Registro 0150)', |
|
22 | 'format' => '' |
|
23 | ], |
|
24 | 'COD_MOD' => [ |
|
25 | 'type' => 'string', |
|
26 | 'regex' => '^[0][1|4]|[1][B]|[5][5]$', |
|
27 | 'required' => true, |
|
28 | 'info' => 'Código do documento fiscal, conforme a Tabela 4.1.1', |
|
29 | 'format' => '' |
|
30 | ], |
|
31 | 'SER' => [ |
|
32 | 'type' => 'string', |
|
33 | 'regex' => '^.{1,4}$', |
|
34 | 'required' => false, |
|
35 | 'info' => 'Série do documento fiscal recebido com fins específicos de exportação.', |
|
36 | 'format' => '' |
|
37 | ], |
|
38 | 'NUM_DOC' => [ |
|
39 | 'type' => 'integer', |
|
40 | 'regex' => '^[1-9]\d{0,8}$', |
|
41 | 'required' => true, |
|
42 | 'info' => 'Número do documento fiscal recebido com fins específicos de exportação.', |
|
43 | 'format' => '' |
|
44 | ], |
|
45 | 'DT_DOC' => [ |
|
46 | 'type' => 'integer', |
|
47 | 'regex' => '^(0[1-9]|[1-2][0-9]|31(?!(?:0[2469]|11))|30(?!02))(0[1-9]|1[0-2])([12]\d{3})$', |
|
48 | 'required' => true, |
|
49 | 'info' => 'Data da emissão do documento fiscal recebido com fins específicos de exportação', |
|
50 | 'format' => '' |
|
51 | ], |
|
52 | 'CHV_NFE' => [ |
|
53 | 'type' => 'numeric', |
|
54 | 'regex' => '^([0-9]{44})?$', |
|
55 | 'required' => false, |
|
56 | 'info' => 'Chave da Nota Fiscal Eletrônica', |
|
57 | 'format' => '' |
|
58 | ], |
|
59 | 'NR_MEMO' => [ |
|
60 | 'type' => 'integer', |
|
61 | 'regex' => '^\d+$', |
|
62 | 'required' => false, |
|
63 | 'info' => 'Número do Memorando de Exportação', |
|
64 | 'format' => '' |
|
65 | ], |
|
66 | 'QTD' => [ |
|
67 | 'type' => 'integer', |
|
68 | 'regex' => '^[1-9](\d?)+$', |
|
69 | 'required' => true, |
|
70 | 'info' => 'Quantidade do item efetivamente exportado.', |
|
71 | 'format' => '' |
|
72 | ], |
|
73 | 'UNID' => [ |
|
74 | 'type' => 'string', |
|
75 | 'regex' => '^.{1,6}$', |
|
76 | 'required' => true, |
|
77 | 'info' => 'Unidade do item (Campo 02 do registro 0190)', |
|
78 | 'format' => '' |
|
79 | ] |
|
80 | ]; |
|
81 | ||
82 | /** |
|
83 | * Constructor |
|
84 | * @param \stdClass $std |
|
85 | */ |
|
86 | public function __construct(\stdClass $std) |
|
87 | { |
|
88 | parent::__construct(self::REG); |
|
89 | $this->std = $this->standarize($std); |
|
90 | } |
|
91 | } |
|
92 |
@@ 9-90 (lines=82) @@ | ||
6 | use NFePHP\EFD\Common\ElementInterface; |
|
7 | use \stdClass; |
|
8 | ||
9 | class Z1800 extends Element implements ElementInterface |
|
10 | { |
|
11 | const REG = '1800'; |
|
12 | const LEVEL = 2; |
|
13 | const PARENT = '1001'; |
|
14 | ||
15 | protected $parameters = [ |
|
16 | 'VL_CARGA' => [ |
|
17 | 'type' => 'numeric', |
|
18 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
19 | 'required' => true, |
|
20 | 'info' => 'Valor das prestações cargas (Tributado)', |
|
21 | 'format' => '15v2' |
|
22 | ], |
|
23 | 'VL_PASS' => [ |
|
24 | 'type' => 'numeric', |
|
25 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
26 | 'required' => true, |
|
27 | 'info' => 'Valor das prestações passageiros/cargas (Não Tributado)', |
|
28 | 'format' => '15v2' |
|
29 | ], |
|
30 | 'VL_FAT' => [ |
|
31 | 'type' => 'numeric', |
|
32 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
33 | 'required' => true, |
|
34 | 'info' => 'Valor total do faturamento (2+3)', |
|
35 | 'format' => '15v2' |
|
36 | ], |
|
37 | 'IND_RAT' => [ |
|
38 | 'type' => 'numeric', |
|
39 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
40 | 'required' => true, |
|
41 | 'info' => 'Índice para rateio(2 / 4)', |
|
42 | 'format' => '8v6' |
|
43 | ], |
|
44 | 'VL_ICMS_ANT' => [ |
|
45 | 'type' => 'numeric', |
|
46 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
47 | 'required' => true, |
|
48 | 'info' => 'Valor total dos créditos do ICMS', |
|
49 | 'format' => '15v2' |
|
50 | ], |
|
51 | 'VL_BC_ICMS' => [ |
|
52 | 'type' => 'numeric', |
|
53 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
54 | 'required' => true, |
|
55 | 'info' => 'Valor da base de cálculo do ICMS', |
|
56 | 'format' => '15v2' |
|
57 | ], |
|
58 | 'VL_ICMS_APUR' => [ |
|
59 | 'type' => 'numeric', |
|
60 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
61 | 'required' => true, |
|
62 | 'info' => 'Valor do ICMS apurado no cálculo (5 x 6)', |
|
63 | 'format' => '15v2' |
|
64 | ], |
|
65 | 'VL_BC_ICMS_APUR' => [ |
|
66 | 'type' => 'numeric', |
|
67 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
68 | 'required' => true, |
|
69 | 'info' => 'Valor da base de cálculo do ICMS apurada (5 x 7)', |
|
70 | 'format' => '15v2' |
|
71 | ], |
|
72 | 'VL_DIF' => [ |
|
73 | 'type' => 'numeric', |
|
74 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
75 | 'required' => true, |
|
76 | 'info' => 'Valor da diferença a ser levada a estorno de crédito na apuração (6 - 8)', |
|
77 | 'format' => '15v2' |
|
78 | ] |
|
79 | ]; |
|
80 | ||
81 | /** |
|
82 | * Constructor |
|
83 | * @param \stdClass $std |
|
84 | */ |
|
85 | public function __construct(\stdClass $std) |
|
86 | { |
|
87 | parent::__construct(self::REG); |
|
88 | $this->std = $this->standarize($std); |
|
89 | } |
|
90 | } |
|
91 |
@@ 9-92 (lines=84) @@ | ||
6 | use NFePHP\EFD\Common\ElementInterface; |
|
7 | use \stdClass; |
|
8 | ||
9 | class Z1923 extends Element implements ElementInterface |
|
10 | { |
|
11 | const REG = '1923'; |
|
12 | const LEVEL = 6; |
|
13 | const PARENT = '1921'; |
|
14 | ||
15 | protected $parameters = [ |
|
16 | 'COD_PART' => [ |
|
17 | 'type' => 'string', |
|
18 | 'regex' => '^.{1,60}$', |
|
19 | 'required' => true, |
|
20 | 'info' => 'Código do participante (campo 02 do Registro 0150): ' |
|
21 | .'- do emitente do documento ou do remetente das mercadorias, no caso de entradas; ' |
|
22 | .'- do adquirente, no caso de saídas', |
|
23 | 'format' => '' |
|
24 | ], |
|
25 | 'COD_MOD' => [ |
|
26 | 'type' => 'string', |
|
27 | 'regex' => '^.{2}$', |
|
28 | 'required' => true, |
|
29 | 'info' => 'Código do modelo do documento fiscal, conforme a Tabela 4.1.1', |
|
30 | 'format' => '' |
|
31 | ], |
|
32 | 'SER' => [ |
|
33 | 'type' => 'string', |
|
34 | 'regex' => '^.{1,4}$', |
|
35 | 'required' => false, |
|
36 | 'info' => 'Série do documento fiscal', |
|
37 | 'format' => '' |
|
38 | ], |
|
39 | 'SUB' => [ |
|
40 | 'type' => 'integer', |
|
41 | 'regex' => '^\d{1,3}$', |
|
42 | 'required' => false, |
|
43 | 'info' => 'Subsérie do documento fiscal', |
|
44 | 'format' => '' |
|
45 | ], |
|
46 | 'NUM_DOC' => [ |
|
47 | 'type' => 'integer', |
|
48 | 'regex' => '^[1-9]\d{0,8}$', |
|
49 | 'required' => true, |
|
50 | 'info' => 'Número do documento fiscal', |
|
51 | 'format' => '' |
|
52 | ], |
|
53 | 'DT_DOC' => [ |
|
54 | 'type' => 'integer', |
|
55 | 'regex' => '^(0[1-9]|[1-2][0-9]|31(?!(?:0[2469]|11))|30(?!02))(0[1-9]|1[0-2])([12]\d{3})$', |
|
56 | 'required' => true, |
|
57 | 'info' => 'Data da emissão do documento fiscal', |
|
58 | 'format' => '' |
|
59 | ], |
|
60 | 'COD_ITEM' => [ |
|
61 | 'type' => 'string', |
|
62 | 'regex' => '^.{1,60}$', |
|
63 | 'required' => false, |
|
64 | 'info' => 'Código do item (campo 02 do Registro 0200)', |
|
65 | 'format' => '' |
|
66 | ], |
|
67 | 'VL_AJ_ITEM' => [ |
|
68 | 'type' => 'numeric', |
|
69 | 'regex' => '^\d+(\.\d*)?|\.\d+$', |
|
70 | 'required' => true, |
|
71 | 'info' => 'Valor do ajuste para a operação/item', |
|
72 | 'format' => '15v2' |
|
73 | ], |
|
74 | 'CHV_DOCE' => [ |
|
75 | 'type' => 'string', |
|
76 | 'regex' => '^\d{44}$', |
|
77 | 'required' => false, |
|
78 | 'info' => 'Chave do Documento Eletrônico', |
|
79 | 'format' => '' |
|
80 | ] |
|
81 | ]; |
|
82 | ||
83 | /** |
|
84 | * Constructor |
|
85 | * @param \stdClass $std |
|
86 | */ |
|
87 | public function __construct(\stdClass $std) |
|
88 | { |
|
89 | parent::__construct(self::REG); |
|
90 | $this->std = $this->standarize($std); |
|
91 | } |
|
92 | } |
|
93 |