Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

ttv_cod_empresa

character

x(3)

Código da empresa externa a ser traduzida pela matriz de tradução de unidade organizacional.

Sim


ttv_cdn_emit

integer

>>>>>>>>9

Código numérico do fornecedor do documento fiscal.

Sim


ttv_cod_nota

character

x(20)

Número do documento fiscal.

Sim


ttv_cod_ser_nota

character

x(5)

Série do documento fiscal.

Sim


ttv_cod_natur_operac

character

x(6)

Natureza de operação do documento fiscal.

Sim


ttv_cod_estab

character

x(3)

Código do estabelecimento externo a ser traduzido pela matriz de tradução de unidade organizacional.

Sim


ttv_dat_aquis_bem_pat

date

99/99/9999

Data de emissão do documento de entrada do qual é extraído um item de um lançamento contábil.

Sim


ttv_cod_cta

character

x(20)

Código do centro de custo.

Não


ttv_cdn_aux

integer

>>>,>>9

Código do centro de custo externo a ser traduzido pela matriz de tradução de centros de custo.

Não


ttv_cod_origem

character

x(8)

Código da origem do documento de entrada.

Não


ttv_des_aux_5

character

x(40)

Narrativa do item do documento de entrada.

Não

ttv_val_aquis_bem_pat

decimal

->>,>>>,>>>,>>9.99



character

x(60)

Chave de acesso da Nota Fiscal Eletrônica (NF-e) ou do Documento Fiscal correspondente, que será utilizada para a geração dos eventos relativos à CBS e ao IBS no sistema da NF-e.

Não



character

x(60)

chave de acesso da Nota Fiscal Eletrônica (NF-e) ou do Documento Fiscal correspondente, que será utilizada para a geração dos eventos relativos à CBS e ao IBS no sistema da NF-eValor do documento de entrada.

Não


ttv_val_aquis_fasb_bem_pat

decimal

->>,>>>,>>>,>>9.99

Valor FASB do documento de entrada.

Não


ttv_val_aquis_cmifasb_bem_papat

decimal

>>,>>>,>>>,>>9.99

Valor CMCAC FASB do documento de entrada.

Não


ttv_val_ibs_municaquis_cmi_bem_pa

decimal

>>,>>>,>>>,>>9.99

Valor CMCAC do documento de entrada.

Não


ttv_val_ibs_munic

decimal

decimal

>>>,>>>,>>>,>>>,>>9.99

Valor do IBS - Imposto sobre Bens e Serviços municipal no documento fiscal de entrada sempre que a operação envolver incidência desse tributo.

Não


ttv_val_ibs_estad

decimal

>>>,>>>,>>>,>>9.99

Valor do IBS - Imposto sobre Bens e Serviços estadual no documento fiscal de entrada sempre que a operação envolver incidência desse tributo.

Não


ttv_val_cbs

decimal

>>>,>>>,>>>,>>9.99

Valor da CBS - Contribuição sobre Bens e Serviços do documento fiscal de entrada sempre que a operação envolver incidência desse tributo.

Não


ttv_recnum_idseq_bemitem_pat_2

recid/roiwd

Recid ou Rowid, caso já tenha liberação da função 

Não

xml

integer

>>>>,>>9

Número da sequência do item no XML do documento fiscal de entrada.

Não


ttv_cod_unid_medid_item_xml

character

x(12)

Unidade de medida do item no XML do documento fiscal de entrada.

Não


ttv_rec_id_bem_pat_2

recid/roiwd


Recid ou Rowid, caso já tenha liberação da função 

Não


ttv_cdn_unid_bem

integer

>>>,>>9

Quantidade do item do documento de entrada.

Sim


ttv_cdn_org_bem

integer

>>>,>>9

Número da ordem de investimentos do documento de entrada.

ttv_cdn_unid_bem

integer

>>>,>>9

Quantidade do item do documento de entrada

Sim

ttv_cdn_org_bem

integer

>>>,>>9

Número da ordem de investimentos

Não


ttv_cdn_ord_manut

integer

>>>,>>9

Número da ordem de manutenção do documento de entrada.

Não


ttv_des_bem_pat

character

x(40)

Descrição do item do documento de entrada

Sim


ttv_cod_unid_negoc

character

x(3)

Código da unidade de negócio.

Não


tta_num_id_ri_bem_pat

integer

>>>,>>>,>>9

Número de identificação do bem patrimonial.

Não


ttv_gera_bem_quant

logical

yes/no

Indicador de geração de bens por quantidade.

Não


ttv_sequencia

integer

>>9

Número sequencial do item do documento fiscal.

Não


ttv_cod_moed_fasb

character

x(8)

Código da moeda FASB.

Não


ttv_dat_fasb

date

99/99/9999

Data de cotação da moeda FASB.

Não


ttv_cod_ccusto 

character

X(8)

Centro de Custo ems5

Sim

2) Tabela de erros

...

Tabela Temporária

...

Descrição

...

Entrada/Saída

...

tt_log_erros

...

Conterá as informações das mensagem de erro ocorridas na criação do documento de entrada.

...

Saída

...

Atributo

...

Tipo

...

Formato

...

Descrição

...

Obrigatório

...

Evolução


Importante: Com a implantação da Reforma Tributária do Consumo, instituída pela Emenda Constitucional nº 132/2023 e regulamentada pela Lei Complementar nº 214/2025, a apropriação de créditos da CBS - Contribuição sobre Bens e Serviços e do IBS - Imposto sobre Bens e Serviços passa a exigir o correto preenchimento das informações no documento fiscal de entrada.

Isso significa que, sempre que houver a intenção de se apropriar créditos desses tributos, será obrigatória a existência de um documento fiscal de entrada vinculado ao bem patrimonial.

Além disso, para garantir a consistência fiscal e a rastreabilidade dos itens, torna-se obrigatório o preenchimento dos seguintes campos no XML do documento fiscal:

  • Sequência do itemtag nItem, que identifica a posição do item na nota;

  • Unidade de medida do itemtag uCom (no grupo det/prod), que especifica a unidade de comercialização utilizada.

O preenchimento correto desses campos é essencial para o cumprimento das novas regras de validação estabelecidas pelas Notas Técnicas aplicáveis aos Documentos Fiscais Eletrônicos (NF-e, NFC-e, CT-e, MDF-e, NFCom, NFS-e), conforme os layouts padronizados disponíveis nos respectivos portais autorizadores.

Em decorrência dessa exigência, os seguintes campos foram incluídos na API:

  • ttv_cod_chave_aces_docto_fisc – Chave de Acesso do Documento Fiscal

  • ttv_val_ibs_munic – Valor do IBS Municipal

  • ttv_val_ibs_estad – Valor do IBS Estadual

  • ttv_val_cbs – Valor da CBS

  • ttv_num_seq_item_xml – Sequência do Item no XML

  • ttv_cod_unid_medid_item_xml – Unidade de Medida do Item no XML


2) Tabela de erros

Tabela Temporária

Descrição

Entrada/Saída

tt_log_erros

Conterá as informações das mensagem de erro ocorridas na criação do documento de entrada.

Saída

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

ttv_num_seq

integer

>>>,>>9

Número sequencial.



ttv_num_cod_erro

integer

>>>>,>>9

Número do erro.



ttv_des_erro

characterx(50)

Mensagem de erro.



ttv_des_ajuda

character

x(50)

Mensagem de ajuda referente ao erro.




Execução

Leitura e Criação dos Registros

Exemplo do programa para criação dos registros nas temp-tables com os documentos de entrada a serem implantados utilizando o ROWID:

{include/i_fncrowid.i}

def temp-table tt_log_erros no-undo
    field ttv_num_seq                      as integer format ">>>,>>9" label "Seqüência" column-label "Seq"
    field ttv_num_cod_erro             as integer format ">>>>,>>9" label "Número" column-label "Número"
    field ttv_des_erro                      as character format "x(50)" label "Inconsistência" column-label "Inconsistência"
    field ttv_des_ajuda                    as character format "x(50)" label "Ajuda" column-label "Ajuda"
    index tt_id                           
         

...

ttv_num_seq

...

integer

...

>>>,>>9

...

Número sequencial.

...

ttv_num_cod_erro

...

integer

...

>>>>,>>9

...

Número do erro.

...

ttv_des_erro

...

Mensagem de erro.

...

ttv_des_ajuda

...

character

...

x(50)

...

Mensagem de ajuda referente ao erro.

Execução

Leitura e Criação dos Registros

Exemplo do programa para criação dos registros nas temp-tables com os documentos de entrada a serem implantados:

{include/i_fncrowid.i}

def temp-table tt_log_erros no-undo
    field ttv_num_seq                      as integer format ">>>,>>9" label "Seqüência" column-label "Seq"
    field  ascending
          ttv_num_cod_erro             as integer format ">>>>,>>9" label "Número" column-label "Número"  ascending.


def temp-table tt_bem_invest_mga no-undo
    field ttv_
descod_erro  empresa                     as character format " as char format 'x(503)" label "Inconsistência" ' label 'Empresa Externa' column-label "Inconsistência"'Empresa Ext Inicial'
    field ttv_
descdn_ajuda emit                      as character format "x(50)" label "Ajuda" column-label "Ajuda"
    index tt_id as integer format '>>>>>>>>9' label 'Emitente' column-label 'Emitente'
    field ttv_cod_nota                    
      as character format 'x(20)'
   
      field ttv_cod_numser_seq nota                      ascendingas character format 'x(5)' label 'Série Nota' column-label 'Série Nota'
   
      field ttv_numcod_codnatur_erro  operac             ascending.as character format 'x(6)' label 'Natureza Operação' column-label 'Natureza Operação'def temp-table tt_bem_invest_mga no-undo
    field ttv_cod_empresa estab                    as char character format 'x(3)' label 'Empresa ExternaEstabelecimento' column-label 'Empresa Ext InicialEstabelecimento'
    field ttv_dat_aquis_cdn_emit           bem_pat           as Integer  as date format '>>>>>>>>999/99/9999' label 'EmitenteData Aquisição' column-label 'EmitenteData Aquisição'
    field ttv_cod_nota cta                     as  as character format 'x(20)'
    field ttv_cod_ser_nota cdn_aux                     as character format 'x(5)' label 'S?rie Nota' column-label 'S?rie Nota' as integer format '>>>,>>9'
    field ttv_cod_natur_operac origem                   as character format 'x(68)' label 'Natureza Opera??oOrigem' column-label 'Natureza Opera??oOrigem'
    field ttv_des_codaux_estab 5                    as character format 'x(340)' label 'Estabelecimento' column-label 'Estabelecimento'
    field ttv_cod_chave_aces_docto_fisc    as character format 'x(60)'
    field ttv_datval_aquis_bem_pat            as date decimal format '99/99/9999' label 'Data Aquisi??o->>,>>>,>>>,>>9.99' decimals 2 initial 0 label 'Aquisição Bem' column-label 'Data Aquisi??oAquisição Bem'
    field ttv_cod_cta _val_aquis_fasb_bem_pat                      as character format 'x(20)'as decimal format '>>,>>>,>>>,>>9.99' decimals 2
    field ttv_cdn_aux               _val_aquis_cmi_bem_pat        as Integer decimal format '>>,>>>,>>>,>>9.99' decimals 2
    field ttv_val_codibs_origem munic                   as character format 'x(8)' label 'Origem' column-label 'Origem' as decimal format '>>>,>>>,>>>,>>9.99' decimals 2
    field ttv_desval_auxibs_5     estad                as character decimal format 'x(40)'>>>,>>>,>>>,>>9.99' decimals 2
    field ttv_val_aquis_bem_pat cbs                      as decimal format '->>>>>,>>>,>>>,>>9.99' decimals 2 initial 0 label 'Aquisi??o Bem' column-label 'Aquisi??o Bem'
    field ttv_valnum_aquis_fasbseq_bem_pat item_xml             as decimal integer format '>>,>>>,>>>>>>>,>>9.99' decimals 2
    field ttv_valcod_aquisunid_cmimedid_bemitem_pat   xml      as decimal character format '>>,>>>,>>>,>>9.99' decimals 2x(12)'
    field ttv_cdn_unid_bem                 as Integer integer format '>>>,>>9'
    field ttv_cdn_org_bem                  as Integer integer format '>>>,>>9'
    field ttv_cdn_ord_manut                as Integer integer format '>>>,>>9'
    field ttv_des_bem_pat                  as character format 'x(40)' label 'Descri??o Descrição Bem Pat' column-label 'Descri??o Descrição Bem Pat'
    field ttv_rec_id_bem_pat_2             as &IF "{&ROWID_READY}" = "YES" &THEN rowid &ELSE recid format '>>>>>>9' &ENDIF
    field ttv_cod_unid_negoc               as character format 'x(3)' label 'Unid Neg?cioNegócio' column-label 'Un Neg'
    field tta_num_id_ri_bem_pat            as integer format '>>>,>>>,>>9' initial 1 label 'Identific Bem MRI' column-label 'ID Bem MRI'
    field ttv_gera_bem_quant               as logical initial no label "Gerar Bem por Quantidade" column-label "Gerar Bem por Quantidade"
    field ttv_sequencia                    as integer format '>>9' initial 0 label 'Sequencia' column-label 'Seq'
    field ttv_cod_moed_fasb                AS character format 'x(8)'
    field ttv_dat_fasb                     AS as date format '99/99/9999' 
    field ttv_cod_ccusto                   AS as character format '"x(8)'
     " label "Centro Custo" column-label "CCusto".


def var v_handle    as handle no-undo.

create tt_bem_invest_mga.
assign tt_bem_invest_mga.ttv_cod_empresa       = "10"
       tt_bem_invest_mga.ttv_cod_estab         = "1"
       tt_bem_invest_mga.ttv_dat_aquis_bem_pat = today
       tt_bem_invest_mga.ttv_cdn_emit          = 1
       tt_bem_invest_mga.ttv_cod_nota          = "04062024"
       tt_bem_invest_mga.ttv_cod_natur_operac  = "6181A"
       tt_bem_invest_mga.ttv_cod_ser_nota      = "S"
       tt_bem_invest_mga.ttv_val_aquis_bem_pat = 129.99 //VALOR DO BEM
       tt_bem_invest_mga.ttv_cdn_unid_bem      = 5 //QUANTIDADE
       tt_bem_invest_mga.ttv_des_bem_pat       = "Primeiro Bem"
       tt_bem_invest_mga.ttv_cod_cta = '010701020000102'   
       tt_bem_invest_mga.ttv_cod_ccusto  = '010702030000203'.
           

create tt_bem_invest_mga.
assign tt_bem_invest_mga.ttv_cod_empresa           = "10"
           tt_bem_invest_mga.ttv_cod_estab                = "1"
           tt_bem_invest_mga.ttv_dat_aquis_bem_pat = today
           tt_bem_invest_mga.ttv_cdn_emit                 = 5
           tt_bem_invest_mga.ttv_cod_nota                 = "04062024"
           tt_bem_invest_mga.ttv_cod_natur_operac   = "6181A"
           tt_bem_invest_mga.ttv_cod_ser_nota          = "S"
           tt_bem_invest_mga.ttv_val_aquis_bem_pat = 1.99
           tt_bem_invest_mga.ttv_cdn_unid_bem        = 20
           tt_bem_invest_mga.ttv_des_bem_pat          = "Segundo Bem".
 


run prgfin\fas\fas791za.py persistent set v_hdl_program.

...