Code Duplication    Length = 82-84 lines in 10 locations

src/Elements/Contribuicoes/C381.php 1 location

@@ 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

src/Elements/Contribuicoes/C481.php 1 location

@@ 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

src/Elements/ICMSIPI/C321.php 1 location

@@ 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

src/Elements/ICMSIPI/D162.php 1 location

@@ 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

src/Elements/ICMSIPI/E113.php 1 location

@@ 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

src/Elements/ICMSIPI/E240.php 1 location

@@ 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

src/Elements/ICMSIPI/Z0005.php 1 location

@@ 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

src/Elements/ICMSIPI/Z1110.php 1 location

@@ 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

src/Elements/ICMSIPI/Z1800.php 1 location

@@ 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

src/Elements/ICMSIPI/Z1923.php 1 location

@@ 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