Documento de API
Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome Físico | prgfin/apb/apb925za.py |
Objetivo
API para automatizar a substituição de notas por duplicatas, permitindo que sejam realizadas várias substituições ao mesmo tempo com as mesmas validações executadas pelo processo manual (on-line). Ou seja, efetuar a substituição de várias notas por uma única duplicata ou, substituir uma única nota em várias duplicatas em diferentes vencimentos de um mesmo fornecedor.
Parâmetros de Entrada
p_num_vers_integr_api : será utilizado para determinar se o programa que está chamando está íntegro com as definições correntes da API;
tt_integr_apb_lote_fatura_3 : se refere ao recebimento de todas as informações necessárias para criação da fatura.
tt_integr_apb_item_lote_fatura : se refere ao recebimento de todas as informações necessárias para a implantação da duplicata.
tt_integr_apb_relacto_fatura : se refere ao recebimento de todas as informações necessárias para a substituição das notas pela duplicata.
tt_integr_apb_impto_impl_pend5: se refere ao recebimento de todas as informações necessárias para a vinculação de impostos à duplicata.
tt_log_erros_atualiz : se refere aos erros criticados e retornados pela API de Substituição das Notas Fiscais por Duplicatas.
tt_params_generic_api: Conterá campos novos das temp-tables passadas como parâmetro.
Funcionamento
A sintaxe para executar a API/BO em modo persistente é:
run prgfin/apb/apb925za.py persistent set v_hdl_apb925za.
run pi_main_code_apb925za_05 in v_hdl_apb925za (Input 5,
Input table tt_integr_apb_lote_fatura_3,
Input table tt_integr_apb_item_lote_fatura,
Input table tt_integr_apb_relacto_fatura,
Input table tt_integr_apb_impto_impl_pend5,
input-output table tt_log_erros_atualiz,
input-output table tt_params_generic_api).
A variável denominada v_hdl_apb925za irá receber o “handle” do programa, permitindo o acesso aos “métodos” internos da API.
Tabela Temporária
tt_integr_apb_lote_fatura_3 | Conterá as informações referentes aos lotes de Substituição da Nota Fiscal por Duplicata. | Entrada |
Atributo | Tipo | Formato | Descrição | Obrig. | Evol. |
tta_cod_estab | character | “x(3)” | Estabelecimento. | ||
tta_cod_refer | character | “x(10)” | Referência. | ||
tta_cod_espec_docto | character | “x(3)” | Espécie Documento. | ||
tta_dat_transacao | date | 99/99/9999 | Data de Transação. | ||
tta_ind_origin_tit_ap | character | “x(3)” | Indica Origem. Exemplo: “APB”. | ||
tta_cod_estab_ext | character | “x(8)” | Estabelecimento Externo. Não possui tratamento. | ||
tta_val_tot_lote_impl_tit_ap | decimal | ">>,>>>,>>>,>>9.99" | Valor Total do Movimento. | ||
tta_cod_empresa | character | “x(3)” | Empresa. | ||
ttv_cod_empresa_ext | character | “x(3)” | Empresa Externa. Não possui tratamento. | ||
tta_cod_finalid_econ_ext | character | “x(8)” | Finalidade Econômica Externa. Não possui tratamento. | ||
tta_cod_indic_econ | character | “x(8)” | Moeda. | ||
ttv_log_atualiza_refer_apb | logical | "Sim/Não" | Atualiza Referência. Se a Substituição deverá ser atualizada ou não. | ||
ttv_log_elimina_lote | logical | "Sim/Não" | Elimina Lote. Em caso de ser apresentado alguma validação, o lote será eliminado e não ficará pendente. | ||
tta_cdn_fornecedor | integer | ">>>,>>>,>>9" | Número Fornecedor. | ||
tta_num_fatur_ap | integer | ">>>>,>>>,>>9" | Número da Fatura. | ||
tta_qtd_parcela | decimal | "->9" | Quantidade de Parcelas. | ||
tta_cod_histor_padr | character | “x(8)” | Histórico Padrão. | ||
tta_cod_histor_padr_dupl | character | “x(8)” | Histórico Padrão da Duplicata. | ||
ttv_ind_matriz_fornec | character | “x(8)” | Permitirá ou não a seleção de títulos por Matriz. Exemplo: ‘Fornecedor’. | ||
ttv_rec_integr_apb_lote_impl | recid | ">>>>>>9" | Recid. Deverá ser informado: RECID(tt_integr_apb_lote_fatura_3). | ||
ttv_log_vinc_impto_auto | logical | "Sim/Não" | Vincula PIS/COFINS/CSLL automaticamente. | ||
ttv_log_fatur_emis_darf | logical | "Sim/Não" | Indica se a Fatura é de DARF DARF. |
| |
ttv_log_fornec_dif | logical | "Sim/Não" | Indica se irá utilizar fornecedor diferente para as novas duplicatas |
Definição:
def temp-table tt_integr_apb_lote_fatura_3 no-undo
field tta_cod_estab as character format "x(3)" label "Estabelecimento" column-label "Estab"
field tta_cod_refer as character format "x(10)" label "Referência" column-label "Referência"
field tta_cod_espec_docto as character format "x(3)" label "Espécie Documento" column-label "Espécie"
field tta_dat_transacao as date format "99/99/9999" initial today label "Data Transação" column-label "Dat Transac"
field tta_ind_origin_tit_ap as character format "X(03)" initial "APB" label "Origem" column-label "Origem"
field tta_cod_estab_ext as character format "x(8)" label "Estabelecimento Exte" column-label "Estabelecimento Ext"
field tta_val_tot_lote_impl_tit_ap as decimal format ">>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Total Movimento" column-label "Total Movto"
field tta_cod_empresa as character format "x(3)" label "Empresa" column-label "Empresa"
field ttv_cod_empresa_ext as character format "x(3)" label "Código Empresa Ext" column-label "Cód Emp Ext"
field tta_cod_finalid_econ_ext as character format "x(8)" label "Finalid Econ Externa" column-label "Finalidade Externa"
field tta_cod_indic_econ as character format "x(8)" label "Moeda" column-label "Moeda"
field ttv_log_atualiza_refer_apb as logical format "Sim/Não" initial yes label "Atualiza Referência" column-label "Atualiza Referência"
field ttv_log_elimina_lote as logical format "Sim/Não" initial no
field tta_cdn_fornecedor as Integer format ">>>,>>>,>>9" initial 0 label "Fornecedor" column-label "Fornecedor"
field tta_num_fatur_ap as integer format ">>>>,>>>,>>9" initial 0 label "Número Fatura" column-label "Num Fatura"
field tta_qtd_parcela as decimal format "->9" decimals 0 initial 0 label "Qtd Parcelas" column-label "Qtd Parc"
field tta_cod_histor_padr as character format "x(8)" label "Histórico Padrão" column-label "Histórico Padrão"
field tta_cod_histor_padr_dupl as character format "x(8)" label "Histórico Padrão" column-label "Histórico Padrão"
field ttv_ind_matriz_fornec as character format "X(08)"
field ttv_rec_integr_apb_lote_impl as recid format ">>>>>>9"
field ttv_log_vinc_impto_auto as logical format "Sim/Não" initial no label "PIS/COFINS/CSLL Auto"
field ttv_log_fatur_emis_darf as logical format "Sim/Não" initial NO label "Fatur Emis DARF" column-label "Fatur Emis DARF"
field ttv_log_fornec_dif as logical format "Sim/Não" initial no
index tt_lote_impl_tit_ap_integr_id is primary unique
tta_cod_estab ascending
tta_cod_refer ascending
tta_cod_estab_ext ascending
.
Tabela Temporária | Descrição | Entrada/Saída |
tt_integr_apb_item_lote_fatura | Conterá as informações referentes as Duplicatas geradas pela Substituição. | Entrada |
Atributo | Tipo | Formato | Descrição | Obrig. | Evol. |
ttv_rec_integr_apb_lote_impl | recid | ">>>>>>9" | Identificador do lote. Receberá: tt_integr_apb_lote_fatura_3.ttv_rec_integr_apb_lote_impl. | ||
tta_num_seq_refer | integer | ">>>9" | Sequência. | ||
tta_cdn_fornecedor | Integer | “>>>,>>>,>>9” | Código do Fornecedor. Não receberá valor se for PEF ou Antecipação. | ||
tta_cod_ser_docto | character | “x(3”)/”x(5)”** | Código da Série Documento. Não receberá valor se for PEF ou Antecipação. | ||
tta_cod_tit_ap | character | “x(10)”/“x(16)”** | Código do Título. Não receberá valor se for PEF ou Antecipação. | ||
tta_cod_parcela | character | “x(02)” | Parcela. | ||
tta_dat_emis_docto | date | "99/99/9999" | Data de Emissão. | ||
tta_dat_vencto_tit_ap | date | "99/99/9999" | Data de Vencimento. | ||
tta_dat_prev_pagto | date | "99/99/9999" | Data Prevista de Pagamento. | ||
tta_dat_desconto | date | "99/99/9999" | Data de Desconto. | ||
tta_cod_indic_econ | character | "x(8)" | Moeda. | ||
tta_val_tit_ap | decimal | "->>>,>>>,>>9.99" | Valor do Título. | ||
tta_val_desconto | decimal | "->>>,>>>,>>9.99" | Valor de Desconto. | ||
tta_val_perc_desc | decimal | ">9.999999" | Percentual de Desconto. | ||
tta_num_dias_atraso | integer | ">9" | Dias de Atraso. | ||
tta_val_juros_dia_atraso | decimal | "->>>,>>>,>>9.99" | Valor de Juros. | ||
tta_val_perc_juros_dia_atraso | decimal | ">9.999999" | Percentual de Juros por Dia de Atraso. | ||
tta_val_perc_multa_atraso | decimal | ">9.99" | Percentual de Multa por Atraso. | ||
tta_cod_portador | character | "x(5)" | Portador. | ||
tta_cod_apol_seguro | character | "x(12)" | Apólice de Seguro. | ||
tta_cod_seguradora | character | "x(8)" | Seguradora. | ||
tta_cod_arrendador | character | "x(6)" | Arrendador. | ||
tta_cod_contrat_leas | character | "x(12)" | Contrato de Leasing. | ||
tta_des_text_histor | character | "x(2000)" | Histórico. | ||
tta_num_id_tit_ap | integer | "9999999999" | Identificador do Título. | ||
tta_num_id_movto_tit_ap | integer | "9999999999" | Identificador do Movimento do Título. | ||
tta_num_id_movto_cta_corren | integer | "9999999999" | Identificador do Movimento da Conta Corrente. | ||
ttv_qtd_parc_tit_ap | decimal | ">>9" | Quantidade de Parcelas. | ||
ttv_num_dias | integer | ">>>>,>>9" | Número de Dias. | ||
ttv_ind_vencto_previs | character | "x(4)" | Cálculo Vencimento. | ||
ttv_log_gerad | logical | "Sim/Não" | Gerado. | ||
tta_cod_finalid_econ_ext | character | "x(8)" | Finalidade Externa. | ||
tta_cod_portad_ext | character | "x(8)" | Portador Externo. | ||
tta_cod_modalid_ext | character | "x(8)" | Modalidade Externa. | ||
tta_cod_cart_bcia | character | "x(3)" | Carteira. | ||
tta_cod_forma_pagto | character | "x(3)" | Forma de Pagamento. | ||
tta_val_cotac_indic_econ | decimal | ">>>>,>>9.9999999999" | Cotação. | ||
ttv_num_ord_invest | integer | ">>>>>,>>9" | Ordem de Investimento. | ||
tta_cod_livre_1 | character | "x(100)" | Campo Livre. | ||
tta_cod_livre_2 | character | "x(100)" | Campo Livre. | ||
tta_dat_livre_1 | date | "99/99/9999" | Campo Livre. | ||
tta_dat_livre_2 | date | "99/99/9999" | Campo Livre. | ||
tta_log_livre_1 | logical | "Sim/Não" | Campo Livre. | ||
tta_log_livre_2 | logical | "Sim/Não" | Campo Livre. | ||
tta_num_livre_1 | integer | ">>>>>9" | Campo Livre. | ||
tta_num_livre_2 | integer | ">>>>>9" | Campo Livre. | ||
tta_val_livre_1 | decimal | ">>>,>>>,>>9.9999" | Campo Livre. | ||
tta_val_livre_2 | decimal | ">>>,>>>,>>9.9999" | Campo Livre. | ||
ttv_rec_integr_apb_item_lote | recid | ">>>>>>9" | Identificador do item. | ||
ttv_val_1099 | decimal | "->>,>>>,>>>,>>9.99" | Valor Imposto 1099 relacionado a localização EUA. | ||
tta_cod_tax_ident_number | character | "x(15)" | Tax Id Number. | ||
tta_ind_tip_trans_1099 | character | "x(50)" | Tipo Transação 1099. |
Definição:
def temp-table tt_integr_apb_item_lote_fatura no-undo
field ttv_rec_integr_apb_lote_impl as recid format ">>>>>>9"
field tta_num_seq_refer as integer format ">>>9" initial 0 label "Sequência" column-label "Seq"
field tta_cdn_fornecedor as Integer format ">>>,>>>,>>9" initial 0 label "Fornecedor" column-label "Fornecedor"
field tta_cod_ser_docto as character format "x(3)" label "Série Documento" column-label "Série"
field tta_cod_tit_ap as character format "x(10)" label "Título" column-label "Título"
field tta_cod_parcela as character format "x(02)" label "Parcela" column-label "Parc"
field tta_dat_emis_docto as date format "99/99/9999" initial today label "Data Emissão" column-label "Dt Emissão"
field tta_dat_vencto_tit_ap as date format "99/99/9999" initial today label "Data Vencimento" column-label "Dt Vencto"
field tta_dat_prev_pagto as date format "99/99/9999" initial today label "Data Prevista Pgto" column-label "Dt Prev Pagto"
field tta_dat_desconto as date format "99/99/9999" initial ? label "Data Desconto" column-label "Dt Descto"
field tta_cod_indic_econ as character format "x(8)" label "Moeda" column-label "Moeda"
field tta_val_tit_ap as decimal format "->>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Título" column-label "Valor Título"
field tta_val_desconto as decimal format "->>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Desconto" column-label "Valor Desconto"
field tta_val_perc_desc as decimal format ">9.9999" decimals 4 initial 0 label "Percentual Desconto" column-label "Perc Descto"
field tta_num_dias_atraso as integer format ">9" initial 0 label "Dias Atraso" column-label "Dias Atr"
field tta_val_juros_dia_atraso as decimal format "->>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Juro" column-label "Vl Juro"
field tta_val_perc_juros_dia_atraso as decimal format ">9.999999" decimals 6 initial 00.00 label "Perc Jur Dia Atraso" column-label "Perc Dia"
field tta_val_perc_multa_atraso as decimal format ">9.99" decimals 2 initial 00.00 label "Perc Multa Atraso" column-label "Multa Atr"
field tta_cod_portador as character format "x(5)" label "Portador" column-label "Portador"
field tta_cod_apol_seguro as character format "x(12)" label "Apólice Seguro" column-label "Apolice Seguro"
field tta_cod_seguradora as character format "x(8)" label "Seguradora" column-label "Seguradora"
field tta_cod_arrendador as character format "x(6)" label "Arrendador" column-label "Arrendador"
field tta_cod_contrat_leas as character format "x(12)" label "Contrato Leasing" column-label "Contr Leas"
field tta_des_text_histor as character format "x(2000)" label "Histórico" column-label "Histórico"
field tta_num_id_tit_ap as integer format "9999999999" initial 0 label "Token Tit AP" column-label "Token Tit AP"
field tta_num_id_movto_tit_ap as integer format "9999999999" initial 0 label "Token Movto Tit AP" column-label "Id Tit AP"
field tta_num_id_movto_cta_corren as integer format "9999999999" initial 0 label "ID Movto Conta" column-label "ID Movto Conta"
field ttv_qtd_parc_tit_ap as decimal format ">>9" initial 1 label "Quantidade Parcelas" column-label "Quantidade Parcelas"
field ttv_num_dias as integer format ">>>>,>>9" label "Número de Dias" column-label "Número de Dias"
field ttv_ind_vencto_previs as character format "X(4)" initial "Mês" label "Cálculo Vencimento" column-label "Cálculo Vencimento"
field ttv_log_gerad as logical format "Sim/Não" initial no
field tta_cod_finalid_econ_ext as character format "x(8)" label "Finalid Econ Externa" column-label "Finalidade Externa"
field tta_cod_portad_ext as character format "x(8)" label "Portador Externo" column-label "Portador Externo"
field tta_cod_modalid_ext as character format "x(8)" label "Modalidade Externa" column-label "Modalidade Externa"
field tta_cod_cart_bcia as character format "x(3)" label "Carteira" column-label "Carteira"
field tta_cod_forma_pagto as character format "x(3)" label "Forma Pagamento" column-label "F Pagto"
field tta_val_cotac_indic_econ as decimal format ">>>>,>>9.9999999999" decimals 10 initial 0 label "Cotação" column-label "Cotação"
field ttv_num_ord_invest as integer format ">>>>>,>>9" initial 0 label "Ordem Investimento" column-label "Ordem Invest"
field tta_cod_livre_1 as character format "x(100)" label "Livre 1" column-label "Livre 1"
field tta_cod_livre_2 as character format "x(100)" label "Livre 2" column-label "Livre 2"
field tta_dat_livre_1 as date format "99/99/9999" initial ? label "Livre 1" column-label "Livre 1"
field tta_dat_livre_2 as date format "99/99/9999" initial ? label "Livre 2" column-label "Livre 2"
field tta_log_livre_1 as logical format "Sim/Não" initial no label "Livre 1" column-label "Livre 1"
field tta_log_livre_2 as logical format "Sim/Não" initial no label "Livre 2" column-label "Livre 2"
field tta_num_livre_1 as integer format ">>>>>9" initial 0 label "Livre 1" column-label "Livre 1"
field tta_num_livre_2 as integer format ">>>>>9" initial 0 label "Livre 2" column-label "Livre 2"
field tta_val_livre_1 as decimal format ">>>,>>>,>>9.9999" decimals 4 initial 0 label "Livre 1" column-label "Livre 1"
field tta_val_livre_2 as decimal format ">>>,>>>,>>9.9999" decimals 4 initial 0 label "Livre 2" column-label "Livre 2"
field ttv_rec_integr_apb_item_lote as recid format ">>>>>>9"
field ttv_val_1099 as decimal format "->>,>>>,>>>,>>9.99" decimals 2
field tta_cod_tax_ident_number as character format "x(15)" label "Tax Id Number" column-label "Tax Id Number"
field tta_ind_tip_trans_1099 as character format "X(50)" initial "Rents" label "Tipo Transacao 1099" column-label "Tipo Transacao 1099"
index tt_integr_apb_fatura_nf is unique
ttv_rec_integr_apb_lote_impl ascending
tta_cdn_fornecedor ascending
tta_cod_ser_docto ascending
tta_cod_tit_ap ascending
tta_cod_parcela ascending
index tt_item_lote_impl_ap_integr_id is primary unique
ttv_rec_integr_apb_lote_impl ascending
tta_num_seq_refer ascending
.
Tabela Temporária | Descrição | Entrada/Saída |
tt_integr_apb_relacto_fatura | Conterá as informações referentes aos documentos Substituídos. Deverá ser informada a chave de identificação do título, que poderá ser de espécie “Nota Fiscal”, “Imposto Retido” ou “Normal”. | Entrada |
Atributo | Tipo | Formato | Descrição | Obrig. | Evol. |
ttv_rec_integr_apb_lote_impl | recid | ">>>>>>9" | Identificador do lote. Receberá: tt_integr_apb_lote_fatura_3.ttv_rec_integr_apb_lote_impl. | ||
tta_cod_estab_tit_ap_pai | character | "x(3)" | Estabelecimento do Título Pai. | ||
tta_cdn_fornec_pai | Integer | “>>>,>>>,>>9” | Código do Fornecedor do Título Pai. | ||
tta_cod_espec_docto_nf | character | "x(8)" | Espécie da Nota Fiscal. | ||
tta_cod_ser_docto_nf | character | "x(8)" | Série da Nota Fiscal. | ||
tta_cod_tit_ap | character | “x(10)” | Código do Título. | ||
tta_cod_parc_nf | character | “x(8)” | Parcela da Nota Fiscal. | ||
tta_ind_motiv_acerto_val | character | "x(12)" | Motivo do Acerto de Valor. | ||
ttv_log_bxo_estab_tit | logical | “Sim/Não” | Baixa no Estabelecimento do Título. |
Definição:
def temp-table tt_integr_apb_relacto_fatura no-undo
field ttv_rec_integr_apb_lote_impl as recid format ">>>>>>9"
field tta_cod_estab_tit_ap_pai as character format "x(3)" label "Estab Tit Pai" column-label "Estab Tit Pai"
field tta_cdn_fornec_pai as Integer format ">>>,>>>,>>9" initial 0 label "Fornecedor Pai" column-label "Fornecedor Pai"
field tta_cod_espec_docto_nf as character format "x(8)" label "Especie Nota Fiscal" column-label "Especie Nota Fiscal"
field tta_cod_ser_docto_nf as character format "x(8)" label "Serie Nota Fiscal" column-label "Serie Nota Fiscal"
field tta_cod_tit_ap as character format "x(10)" label "Título" column-label "Título"
field tta_cod_parc_nf as character format "x(8)" label "Parcela Nota fiscal" column-label "Parcela Nota fiscal"
field tta_ind_motiv_acerto_val as character format "X(12)" initial "Alteração" label "Motivo Acerto Valor" column-label "Motivo Acerto Valor"
field ttv_log_bxo_estab_tit as logical format "Sim/Não" initial no
index tt_integr_apb_relacto_fatura is primary unique
ttv_rec_integr_apb_lote_impl ascending
tta_cod_estab_tit_ap_pai ascending
tta_cdn_fornec_pai ascending
tta_cod_espec_docto_nf ascending
tta_cod_ser_docto_nf ascending
tta_cod_tit_ap ascending
tta_cod_parc_nf ascending
.
Tabela Temporária | Descrição | Entrada/Saída |
tt_integr_apb_impto_impl_pend5 | Conterá as informações dos impostos relacionados as duplicatas geradas. Sendo que o valor destes impostos irão abater o saldo dos títulos relacionados; implantando no sistema um título normal contendo o saldo e outro título de imposto com o valor abatido. | Entrada |
Atributo | Tipo | Formato | Descrição | Obrig. | Evol. |
ttv_rec_integr_apb_item_lote | recid | “>>>>>>9” | Identificador do Item. Deverá receber: tt_integr_apb_item_lote_fatura.ttv_rec_integr_apb_item_lote. | ||
ttv_rec_antecip_pef_pend | recid | “>>>>>>9” | Identificador da Antecipação. Deverá receber: ? | ||
tta_cod_pais | character | “x(3)” | Código País. | ||
tta_cod_unid_federac | character | “x(3)” | Unidade Federação. | ||
tta_cod_imposto | character | “x(5)” | Código Imposto. | ||
tta_cod_classif_impto | character | “x(5)” | Código da Classificação do Imposto. | ||
tta_ind_clas_impto | character | “x(14)” | Indicador da Classe do Imposto. | ||
tta_cod_plano_cta_ctbl | character | “x(8)” | Código do Plano de Contas. | ||
tta_cod_cta_ctbl | character | “x(20)” | Código da Conta Contábil. | ||
tta_cod_espec_docto | character | “x(3)” | Código da Espécie do Documento. | ||
tta_cod_ser_docto | character | “x(3)” | Código da Série do Documento. | ||
tta_cod_tit_ap | character | “x(10)” | Código do Título. | ||
tta_cod_parcela | character | “x(2)” | Parcela. | ||
tta_val_rendto_tribut | decimal | “>,>>>,>>>,>>9.99” | Valor do Rendimento Tributável. | ||
tta_val_deduc_inss | decimal | “>,>>>,>>>,>>9.99” | Valor da Dedução INSS. | ||
tta_val_deduc_depend | decimal | “>,>>>,>>>,>>9.99” | Valor da Dedução de Dependentes. | ||
tta_val_deduc_pensao | decimal | “>,>>>,>>>,>>9.99” | Valor Dedução Pensão. | ||
tta_val_outras_deduc_impto | decimal | “>,>>>,>>>,>>9.99” | Valor de Outras Deduções. | ||
tta_val_base_liq_impto | decimal | “>,>>>,>>>,>>9.99” | Valor da Base Líquida Imposto. | ||
tta_val_aliq_impto | decimal | “>9.99” | Valor da Alíquota. | ||
tta_val_impto_ja_recolhid | decimal | “>,>>>,>>>,>>9.99” | Valor do Imposto Já Recolhido. | ||
tta_val_imposto | decimal | “>,>>>,>>>,>>9.99” | Valor Imposto. | ||
tta_dat_vencto_tit_ap | date | “99/99/9999” | Data Vencimento. | ||
tta_cod_indic_econ | character | “x(8)” | Código do Indicador Econômico (Moeda). | ||
tta_val_impto_indic_econ_impto | decimal | “->>>,>>>,>>9.99” | Valor do Imposto no Indicador Econômico do Imposto. | ||
tta_des_text_histor | character | “x(2000)” | Texto do Histórico (Padrão ou Informado). | ||
tta_cdn_fornec_favorec | Integer | “>>>,>>>,>>9” | Código do Fornecedor Favorecido. | ||
tta_val_deduc_faixa_impto | decimal | “>,>>>,>>>,>>9.99” | Valor Dedução na Faixa do Imposto. | ||
tta_num_id_tit_ap | integer | "9999999999" | Número de Identificação do Título a Pagar implantado. | ||
tta_num_id_movto_tit_ap | integer | "9999999999" | Número de Identificação do Movimento gerado pela implantação do Título a Pagar. | ||
tta_num_id_movto_cta_corren | integer | "9999999999" | Número de Identificação do Movimento da Conta Corrente gerado no Caixa e Bancos pelo movimento de implantação do Título a Pagar. | ||
tta_cod_pais_ext | character | “x(20)” | Código do país Externo. | ||
tta_cod_cta_ctbl_ext | character | “x(20)” | Código da Conta Contábil Externa. | ||
tta_cod_sub_cta_ctbl_ext | character | “x(15)” | Código da Subconta Externa. Este campo deverá ser obrigatoriamente preenchido caso o campo tta_cod_cta_ctbl_ext estiver preenchido. | ||
ttv_cod_tip_fluxo_financ_ext | character | “x(12)” | Código do Tipo Fluxo Financeiro Externo. | ||
tta_val_alimen_deduc_inss | decimal | ->>>,>>>,>>9.99 | Valor Alimentação Dedução INSS | ||
tta_val_eqpto_deduc_inss | decimal | "->>>,>>>,>>9.99" | Valor Equipamento Dedução INSS | ||
tta_val_transp_deduc_inss | decimal | ->>>,>>>,>>9.99 | Valor Transporte Dedução INSS | ||
tta_val_nao_retid | decimal | ">>>,>>>,>>>,>>9.99" | Valor Não Retido. Este campo deverá ser preenchido exclusivamente para geração de dados para a legislação REINF. Caso o título seja de Mão de Obra Empreitada. | ||
tta_cod_process_judic | character | "x(20)" | Número Pocesso Judicial. Este campo deverá ser preenchido exclusivamente para geração de dados para a legislação REINF. Caso o título seja de Mão de Obra Empreitada. | ||
ttv_rec_integr_apb_impto_pend | recid | “>>>>>>9” | Identificador do imposto pendente. |
Observação: Caso o imposto seja retido e a forma de retenção seja tabela progressiva, o imposto será calculado da seguinte maneira:
- Apenas será considerado o valor do rendimento tributável, desconsiderando a alíquota e o valor do imposto informado na temp-table. Para o cálculo do valor do imposto, será considerada a alíquota da tabela progressiva do imposto, e o valor do imposto será calculado com base no acumulado da pessoa, caso o mesmo exista, mais o valor informado no rendimento tributável.
Definição:
def temp-table tt_integr_apb_impto_impl_pend5 no-undo
field ttv_rec_integr_apb_item_lote as recid format ">>>>>>9"
field ttv_rec_antecip_pef_pend as recid format ">>>>>>9"
field tta_cod_pais as character format "x(3)" label "País" column-label "País"
field tta_cod_unid_federac as character format "x(3)" label "Estado" column-label "UF"
field tta_cod_imposto as character format "x(5)" label "Imposto" column-label "Imp"
field tta_cod_classif_impto as character format "x(05)" initial "00000" label "Classificação Imposto" column-label "Classif Imposto"
field tta_ind_clas_impto as character format "X(14)" initial "Retido" label "Classe Imposto" column-label "Classe Imposto"
field tta_cod_plano_cta_ctbl as character format "x(8)" label "Plano Contas" column-label "Plano Contas"
field tta_cod_cta_ctbl as character format "x(20)" label "Conta Contábil" column-label "Conta Contábil"
field tta_cod_espec_docto as character format "x(3)" label "Espécie Documento" column-label "Espécie"
field tta_cod_ser_docto as character format "x(3)" label "Série Documento" column-label "Série"
field tta_cod_tit_ap as character format "x(10)" label "Título" column-label "Título"
field tta_cod_parcela as character format "x(02)" label "Parcela" column-label "Parcela"
field tta_val_rendto_tribut as decimal format ">,>>>,>>>,>>9.99" decimals 2 initial 0 label "Rendto Tributável" column-label "Vl Rendto Tribut"
field tta_val_deduc_inss as decimal format ">,>>>,>>>,>>9.99" decimals 2 initial 0 label "Dedução Inss" column-label "Dedução Inss"
field tta_val_deduc_depend as decimal format ">,>>>,>>>,>>9.99" decimals 2 initial 0 label "Dedução Dependentes" column-label "Dedução Dependentes"
field tta_val_deduc_pensao as decimal format ">,>>>,>>>,>>9.99" decimals 2 initial 0 label "Dedução Pensão" column-label "Dedução Pensão"
field tta_val_outras_deduc_impto as decimal format ">,>>>,>>>,>>9.99" decimals 2 initial 0 label "Outras Deduções" column-label "Outras Deduções"
field tta_val_base_liq_impto as decimal format ">,>>>,>>>,>>9.99" decimals 2 initial 0 label "Base Líquida Imposto" column-label "Base Líquida Imposto"
field tta_val_aliq_impto as decimal format ">9.9999" decimals 4 initial 0.00 label "Alíquota" column-label "Aliq"
field tta_val_impto_ja_recolhid as decimal format ">,>>>,>>>,>>9.99" decimals 2 initial 0 label "Imposto Já Recolhido" column-label "Imposto Já Recolhido"
field tta_val_imposto as decimal format ">,>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Imposto" column-label "Vl Imposto"
field tta_dat_vencto_tit_ap as date format "99/99/9999" initial today label "Data Vencimento" column-label "Dt Vencto"
field tta_cod_indic_econ as character format "x(8)" label "Moeda" column-label "Moeda"
field tta_val_impto_indic_econ_impto as decimal format "->>>,>>>,>>9.99" decimals 2 initial 0 label "Val Finalid Impto" column-label "Val Finalid Impto"
field tta_des_text_histor as character format "x(2000)" label "Histórico" column-label "Histórico"
field tta_cdn_fornec_favorec as Integer format ">>>,>>>,>>9" initial 0 label "Fornec Favorecido" column-label "Fornec Favorecido"
field tta_val_deduc_faixa_impto as decimal format ">,>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Deducao" column-label "Valor Dedução"
field tta_num_id_tit_ap as integer format "999999999" initial 0 label "Token Tít AP" column-label "Token Tít AP"
field tta_num_id_movto_tit_ap as integer format "9999999999" initial 0 label "Token Movto Tít AP" column-label "Id Tít AP"
field tta_num_id_movto_cta_corren as integer format "999999999" initial 0 label "ID Movto Conta" column-label "ID Movto Conta"
field tta_cod_pais_ext as character format "x(20)" label "País Externo" column-label "País Externo"
field tta_cod_cta_ctbl_ext as character format "x(20)" label "Conta Contab Extern" column-label "Conta Contab Extern"
field tta_cod_sub_cta_ctbl_ext as character format "x(15)" label "Sub Conta Externa" column-label "Sub Conta Externa"
field ttv_cod_tip_fluxo_financ_ext as character format "x(12)" label "Tipo Fluxo Financ" column-label "Tipo Fluxo Financ"
field tta_val_alimen_deduc_inss as decimal format "->>>,>>>,>>9.99" decimals 2 initial 0 label "Val Aliment Ded INSS" column-label "Vl Alim INSS"
field tta_val_eqpto_deduc_inss as decimal format "->>>,>>>,>>9.99" decimals 2 initial 0 label "Val Equipto Ded INSS" column-label "Vl Eqto INSS"
field tta_val_transp_deduc_inss as decimal format "->>>,>>>,>>9.99" decimals 2 initial 0 label "Val Transp Ded INSS" column-label "Vl Trsp INSS"
field tta_val_nao_retid as decimal format ">>>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Não Retido" column-label "Vl Não Retid"
field tta_cod_process_judic as character format "x(21)" label "Nr Processo Judicial" column-label "Nr Proc Judic"
field ttv_rec_integr_apb_impto_pend as recid format ">>>>>>9"
index tt_impto_impl_pend_ap_integr is primary unique
ttv_rec_integr_apb_item_lote ascending
tta_cod_pais ascending
tta_cod_unid_federac ascending
tta_cod_imposto ascending
tta_cod_classif_impto ascending
index tt_impto_impl_pend_ap_integr_ant is unique
ttv_rec_antecip_pef_pend ascending
tta_cod_pais ascending
tta_cod_unid_federac ascending
tta_cod_imposto ascending
tta_cod_classif_impto ascending
.
REINF:
Somente será permitido agrupar títulos que possuem os mesmos dados de REINF (tipo de serviço e obra ). Caso informado títulos com dados de REINF divergentes será emitida uma mensagem de erro e não será permitido efetivar a substituição.
Processo Jurídico (REINF):
Para os títulos que estão marcados como Mão-de-Obra ou Empreitada, é possível informar um processo jurídico e valor não retido que será deduzido no valor retido do INSS.
Informações necessárias:
- Número do Processo Jurídico (cod_process_judic): Esse campo é opcional. Porém, caso informado deverá existir no Cadastro de Processos (cd2021).
- Valor não retido (val_nao_retid): Este campo é opcional, quando informado utiliza o valor informado no cálculo de imposto e será necessário informar o número do processo jurídico. Quando ele não for informado será calculado o valor não retido com base no percentual de dedução informado no processo jurídico.
Abaixo, exemplo dos registros relacionados:
- tt_integr_apb_impto_impl_pend5. tta_val_nao_retid
- tt_integr_apb_impto_impl_pend5 tta_cod_process_judic
Tabela Temporária | Descrição | Entrada/Saída |
tt_log_erros_atualiz
| Conterá as informações referentes aos erros encontrados durante as validações para a substituição dos títulos. | Entrada / Saída |
Atributo | Tipo | Formato | Descrição | Obrig. | Evol. |
tta_cod_estab | character | “x(3)” | Estabelecimento | ||
tta_cod_refer | character | “x(10)” | Referência | ||
tta_num_seq_refer | integer | “>>>9” | Sequência | ||
ttv_num_mensagem | integer | “>>>>,>>9” | Número do erro | ||
ttv_des_msg_erro | character | “x(60)” | Mensagem Erro | ||
ttv_des_msg_ajuda | character | “x(40)” | Mensagem Ajuda | ||
ttv_ind_tip_relacto | character | “x(15)” | Tipo Relacionamento | ||
ttv_num_relacto | integer | “>>>>,>>9” | Relacionamento |
Observação: Num primeiro passo, os títulos são validados, conforme as parametrizações recebidas. Ao encontrar algum erro, um registro correspondente ao erro é gravado na tabela temporária tt_log_erros_atualiz e é dado continuidade ao processo de validação visando encontrar o maior número de erros possíveis; então o processo é interrompido quando não se é mais possível continuar as validações.
Caso na validação não seja verificado nenhum erro, num segundo passo, a operação realmente será efetivada, conforme as parametrizações recebidas, chegando então à sua conclusão. Caso contrário, na tabela temporária tt_log_erros_atualiz será gerado todos os erros encontrados ou mensagens de alerta gerados durante o processo de validação dos títulos e visualizados na tela, impressora ou arquivo.
Quando a API for executada por um programa externo, logo após a chamada da API, deverá ser criado um tratamento para impressão dos erros. E para a correta visualização dos erros, todos os campos desta tabela devem ser impressos.
Definição:
def temp-table tt_log_erros_atualiz no-undo
field tta_cod_estab as character format "x(3)" label "Estabelecimento" column-label "Estab"
field tta_cod_refer as character format "x(10)" label "Referência" column-label "Referência"
field tta_num_seq_refer as integer format ">>>9" initial 0 label "Sequência" column-label "Seq"
field ttv_num_mensagem as integer format ">>>>,>>9" label "Número" column-label "Número Mensagem"
field ttv_des_msg_erro as character format "x(60)" label "Mensagem Erro" column-label "Inconsistência"
field ttv_des_msg_ajuda as character format "x(40)" label "Mensagem Ajuda" column-label "Mensagem Ajuda"
field ttv_ind_tip_relacto as character format "X(15)" label "Tipo Relacionamento" column-label "Tipo Relac"
field ttv_num_relacto as integer format ">>>>,>>9" label "Relacionamento" column-label "Relacionamento"
.
Tabela Temporária | Descrição | Entrada/Saída |
tt_params_generic_api | Conterá campos novos das temp-tables passadas como parâmetro. | Entrada / Saída |
Atributo | Tipo | Formato | Descrição | Obrig. | Evol. |
ttv_rec_id | recid | >>>>>>9 | |||
ttv_cod_tabela | character | X(28) | Tabela | ||
ttv_cod_campo | character | X(25) | Campo | ||
ttv_cod_valor | character | X(8) | Valor |
Definição:
def temp-table tt_params_generic_api no-undo
field ttv_rec_id as recid format ">>>>>>9"
field ttv_cod_tabela as character format "x(28)" label "Tabela" column-label "Tabela"
field ttv_cod_campo as character format "x(25)" label "Campo" column-label "Campo"
field ttv_cod_valor as character format "x(8)" label "Valor" column-label "Valor"
index tt_idx_param_generic is primary unique
ttv_cod_tabela ascending
ttv_rec_id ascending
ttv_cod_campo ascending
Exemplo Criação temp-table tt_params_generic_api para campo SAFRA:
create tt_params_generic_api.
assign tt_params_generic_api.ttv_rec_id = (Campo Recid da temp-table) tt_integr_apb_item_lote_fatura.ttv_rec_integr_apb_item_lote
tt_params_generic_api.ttv_cod_campo = 'Safra':U
tt_params_generic_api.ttv_cod_tabela = 'tt_integr_apb_item_lote_fatura':U
tt_params_generic_api.ttv_cod_valor = (Valor Da Safra).
Exemplo Criação temp-table tt_params_generic_api para campo NÚMERO DO CONTRATO:
create tt_params_generic_api.
assign tt_params_generic_api.ttv_rec_id = (Campo Recid da temp-table) tt_integr_apb_item_lote_fatura.ttv_rec_integr_apb_item_lote
tt_params_generic_api.ttv_cod_campo = 'cod_contrato':U
tt_params_generic_api.ttv_cod_tabela = 'tt_integr_apb_item_lote_fatura':U
tt_params_generic_api.ttv_cod_valor = (Valor Do Contrato).
A partir da release 12.1.28, para informar o código de barras e o número bancário das duplicatas que serão criadas na implantação de fatura, implementar criação da temp-table tt_params_generic para cada fatura conforme exemplo abaixo:
CREATE tt_params_generic_api.
ASSIGN tt_params_generic_api.ttv_cod_tabela = 'tt_integr_apb_item_lote_fatura':U
tt_params_generic_api.ttv_rec_id = tt_integr_apb_item_lote_fatura.ttv_rec_integr_apb_item_lote
tt_params_generic_api.ttv_cod_campo = 'Cod Barras':U
tt_params_generic_api.ttv_cod_valor = '836600000068415601620008001010202057667503152098'. /* Exemplo de código de barras de conta de consumo ou tributo */
CREATE tt_params_generic_api.
ASSIGN tt_params_generic_api.ttv_cod_tabela = 'tt_integr_apb_item_lote_fatura':U
tt_params_generic_api.ttv_rec_id = tt_integr_apb_item_lote_fatura.ttv_rec_integr_apb_item_lote
tt_params_generic_api.ttv_cod_campo = 'Número Bancário':U
tt_params_generic_api.ttv_cod_valor = '12345678901234567890'. /* Exemplo de número bancário */
Importante: Serão aceitos linhas digitáveis do código de barras de boletos (47 algarismos) e contas de consumo ou tributos (48 posições). Sempre deverão ser informados o Cod Barras e Número Bancária simultaneamente para a mesma duplicata.
PIX Datasul
O PIX é um novo modo de Pagamento disponibilizado pelo Banco Central que poderá ser utilizado no pagamento de títulos através de Transferências bancária ou liquidação de Boletos.
Para o pagamentos de Boletos poderão ser utilizado o QR-Code, dessa forma serão disponibilizados dois campos para guardar os dados do QR-Code e o TXID.
Esses campos serão necessários em pagamentos cuja a forma de pagamento forem:
- PIX Qr-code mesmo banco
- PIX QrCode outro banco
QR CODE: Chave/URL endereçamento capturada a partir da leitura do QR CODE.
TXID: Código de identificação da transação é opcional e poderá ser informada no pagamento escritural conforme o leitaute CNAB 240 de cada banco.
create tt_params_generic_api.
assign tt_params_generic_api.ttv_cod_tabela = "tt_integr_apb_item_lote_fatura"
tt_params_generic_api.ttv_rec_id = tt_integr_apb_item_lote_fatura.ttv_rec_integr_apb_item_lote
tt_params_generic_api.ttv_cod_campo = "cod_txid"
tt_params_generic_api.ttv_cod_valor = "12544".
create tt_params_generic_api.
assign tt_params_generic_api.ttv_cod_tabela = "tt_integr_apb_item_lote_fatura"
tt_params_generic_api.ttv_rec_id = tt_integr_apb_item_lote_fatura.ttv_rec_integr_apb_item_lote
tt_params_generic_api.ttv_cod_campo = "dsl_qrcode"
tt_params_generic_api.ttv_cod_valor = "00020126580014br.gov.bcb.pix0136123e4567-e12b-12d1-a456-426655440000 5204000053039865802BR5913Fulano de Tal6008BRASILIA62070503***63041D3D " .