Histórico da Página
| Button | ||||
|---|---|---|---|---|
|
API para geração e envio de XML dos comprovantes eletrônicos do Paraguai
Nome Físico: local/pry/pry1200.p
Versão de Integração: 001
Objetivo:
Gerar o XML para autorização de comprovantes eletrônicos do Paraguai.
Pré-requisitos:
Não se aplica.
Considerações Gerais
- São passados parâmetros de input e output para a API.
- Input é enviado o rowid da tabela internac-autoriz-nfe.
- Output: temp-table de erros RowErrors.
- São geradas diversas temp-tables para a geração do XML, que serão demonstradas abaixo.
Tabelas temporárias para geração do XML
Descrição dos campos
TEMP-TABLE tt-enviar | ||||
Atributo | Descrição | Tipo | Formato | Valor Inicial |
arq-xml | Diretório e nome do arquivo XML | Character | ||
Id | Codigo CDC | Character | ||
dDVId | Dígito Verificador CDC | Character | ||
dFecFirma | Data Autorização | Character | ||
dSisFact | Fixo 1 | Character | ||
iTipEmi | Tipo Emissão: Fixo 1 | Integer | ||
dDesTipEmi | Tipo Emissão: Normal | Character | ||
dCodSeg | Código Segurança | Character | ||
dInfoEmi | Observação Nota | Character | ||
dInfoFisc | Observação Remito ou Dados Exportação | Character | ||
iTiDE | Tipo Comprovante | Integer | ||
dDesTiDE | Descrição Tipo Comprovante | Character | ||
dNumTim | Número Timbrado | Character | 999999999 | |
dEst | Estabelecimento Fiscal | Character | 999 | |
dPunExp | Ponto de Expedição | Character | ||
dNumDoc | Numero Documento | Character | ||
dSerieNum | Série | Character | ||
| dFeIniT | Data Início Timbrado | Character | ||
| dFeFinT | Data Fim Timbrado (não é enviado) | Character | ||
| dFeEmiDE | Data emissão comprovante | Character | ||
| iTipTra | Tipo Transação | Integer | ||
| dDesTipTra | Descrição Tipo Transação | Character | ||
| iTImp | Tipo Imposto | Integer | ||
| dDesTImp | Descrição Tipo Imposto | Character | ||
| cMoneOpe | Sigla Moeda | Character | ||
| dDesMoneOpe | Descrição Moeda | Character | ||
| dCondTiCam | Tipo Cotação: Global | Integer | ||
dTiCam | Cotação | Decimal | ||
| iCondAnt | Tipo Antecipação: Global | Integer | ||
| dDesCondAnt | Descrição Tipo Antecipação | Character | ||
| iIndPres | Indicador de Presença | Integer | ||
| dDesIndPres | Descrição Indicador de Presença | Character | ||
| dFecEmNR | Data (não enviado) | Character | ||
| iMotEmi | Motivo Emissão (NC/ND) | Integer | ||
| dDesMotEmi | Descrição Motivo | Character | ||
| iMotEmiNR | Motivo Guia Remissão | Integer | ||
| dDesMotEmiNR | Descrição Motivo Guia Remissão | Character | ||
| iRespEmiNR | Responsável Emissão Guia Remissão | Integer | ||
| dDesRespEmiNR | Descrição Responsável Emissão Guia Remissão | Character | ||
| dKmR | Distância (km) | Integer | ||
| dFecEm | Data Futura Emissão Fatura | Character | ||
| dSubExe | Total Isento | Decimal | 999999999999999.99999999 | |
| dSubExo | Total Exonerado | Decimal | 999999999999999.99999999 | |
| dSub5 | Total Itens IVA 5% | Decimal | 999999999999999.99999999 | |
| dSub10 | Total Itens IVA 10% | Decimal | 999999999999999.99999999 | |
| dTotOpe | Total Operação | Decimal | 999999999999999.99999999 | |
| dTotDesc | Total Desconto | Decimal | 999999999999999.99999999 | |
| dTotDescGlotem | Total Desconto Global Item | Decimal | 999999999999999.99999999 | |
| dTotAntItem | Total Antecipação Item | Decimal | 999999999999999.99999999 | |
| dTotAnt | Total Antecipação | Decimal | 999999999999999.99999999 | |
| dPorcDescTotal | Percentual Desconto Total | Decimal | 999.99999999 | |
| dDescTotal | Desconto Total | Decimal | 999999999999999.99999999 | |
| dAnticipo | Antecipação | Decimal | 999999999999999.99999999 | |
| dRedon | Arredondamento | Decimal | 999999999999999.99999999 | |
| dComi | Comissão | Decimal | 999999999999999.99999999 | |
| dTotGralOpe | Total Geral Operação | Decimal | 999999999999999.99999999 | |
| dIVA5 | Total IVA 5% | Decimal | 999999999999999.99999999 | |
| dIVA10 | Total IVA 10% | Decimal | 999999999999999.99999999 | |
| dLiqTotIVA5 | Total Liquido IVA 5% | Decimal | 999999999999999.99999999 | |
| dLiqTotIVA10 | Total Liquido IVA 10% | Decimal | 999999999999999.99999999 | |
| dIVAComi | IVA Comissão | Decimal | 999999999999999.99999999 | |
| dTotIVA | Total IVA | Decimal | 999999999999999.99999999 | |
| dBaseGrav5 | Base IVA 5% | Decimal | 999999999999999.99999999 | |
| dBaseGrav10 | Base IVA 10% | Decimal | 999999999999999.99999999 | |
| dTBasGraIVA | Total Base IVA Gravado | Decimal | 999999999999999.99999999 | |
| dTotalGs | Total Geral | Decimal | 999999999999999.99999999 | |
| l-exporta | Se documento de exportação | Logical | NO | |
TEMP-TABLE tt- |
transp | ||
Atributo | Descrição | Tipo |
dRucEm
iTipTrans | Motivo Transporte | Integer |
dDesTipTrans | Descrição Motivo | Character |
iModTrans |
Modalidade Transporte | Integer |
iTipCont
Tipo Contribuinte
Integer
cTipReg
dDesModTrans | Descrição Modalidade | Character |
iRespFlete | Responsável Emissão | Integer |
cCondNeg |
Incoterm | Character |
dNomFanEmi
dNuManif | Número Manifesto | Character |
dNuDespImp |
não enviado | Character |
dIniTras |
Data Início Traslado |
Character |
dFinTras |
Departamento (Estado)
Integer
dDesDepEmi
Data Fim Traslado | Character |
cPaisDest | Código País Destino |
Character |
cDisEmi
não enviado
Integer
dDesDisEmi
dDesPaisDest | Nome País | Character |
dDirLocSal | Endereço Saída |
Character |
cCiuEmi
dNumCasSal | Número Casa Saída | Integer |
cDepSal | Departamento Saída |
Integer |
dDesDepSal | Descrição |
Character |
cDisSal |
Distrito (não enviado) | Integer | |
dDesDisSal | não enviado | Character |
cCiuSal |
Cidade Saída | Integer | |
dDesCiuSal | Descrição | Character |
dTelSal |
Telefone | Character |
TEMP-TABLE tt-acteco
Atributo
Descrição
Tipo
cActEco
Código ACTECO (natureza operação)
Character
dDesActEco
Descrição ACTECO
Character
TEMP-TABLE tt-receptor
Atributo
Descrição
Tipo
iNatRec
Natureza Contribuinte
Integer
iTiOpe
Tipo Operação (natureza operação)
Integer
cPaisRec
Código País Receptor
Character
dDesPaisRe
Descrição País
Character
iTiContRec
Tipo de Contribuinte
Integer
dRucRec
RUC Receptor
Character
dDirLocEnt | Endereço Entrega | Character |
dNumCasEnt | Número Casa Entrega | Integer |
cDepEnt | Departamento Entrega | Integer |
dDesDepEnt | Descrição | Character |
cDisEnt | Distrito (não enviado) | Integer |
dDesDisEnt | não enviado | Character |
cCiuEnt | Cidade Entrega | Integer |
dDesCiuEnt | Descrição | Character |
dTelEnt | Telefone | Character |
iNatTrans | Tipo Contribuinte Transportadora | Integer |
dNomTrans | Nome Transportadora | Character |
dRucTrans | RUC | Character |
dDVTrans |
| Dígito Verificador RUC | Integer |
iTipIDTrans | Código Fiscal |
Docto Identificação | Integer |
dDTipIDTrans | Descrição |
Docto Identificação | Character |
dNumIDTrans | Número |
Docto Identificação | Character |
dNomRec
cNacTrans | Código País Transportadora |
Character |
dDesNacTrans | Nome |
País | Character |
dDirRec
dNumIDChof | Documento Identificação Motorista |
Character |
dNumCasRec
Número
Integer
cDepRec
Departamento (Estado)
Integer
dDesDepRec
Descrição Estado
Character
cDisRec
não enviado
Integer
dDesDisRec
não enviado
Character
cCiuRec
Código Cidade
Integer
dDesCiuRec
Descrição Cidade
Character
dTelRec
Telefone
Character
dEmailRec
Character
dCodCliente
dNomChof | Nome Motorista | Character |
dDomFisc | Endereço Transportadora | Character |
dDirChof | Endereço Motorista | Character |
TEMP-TABLE tt-veic | ||
Atributo | Descrição | Tipo |
dTiVehTras | Descrição Modalidade Transporte | Character |
dMarVeh | Marca | Character |
dTipIdenVeh | Tipo Identificação Veículo | Integer |
dNroIDVeh | Número Identificação | Character |
dNroMatVeh | Número Matrícula | Character |
dNroVuelo | Número Vôo | Character |
TEMP-TABLE tt- |
emissor | ||
Atributo | Descrição | Tipo |
Formato
sequencia
Sequência do item
Integer
dCodInt
Código Item
Character
dNCM
Código NCM
Integer
dDesProSer
Descrição Item
Character
cUniMed
Código Unidade Medida
Integer
dDesUniMed
Descrição Unidade Medida
Character
dCantProSer
Quantidade
Decimal
9999999999.9999
cRelMerc
Tolerância
Integer
dDesRelMerc
Descrição Tolerância
Character
dCanQuiMer
Quantidade Tolerância
Decimal
9999999999.9999
dPorQuiMer
Percentual Tolerância
Decimal
999.99999999
dPUniProSer
Preço Unitário com Impostos
Decimal
999999999999999.99999999
dTotBruOpeItem
Total Item
Decimal
999999999999999.99999999
dDescItem
Desconto Unitário Item
Decimal
999999999999999.99999999
dPorcDesIt
% Desconto Total Item
Decimal
999.99999999
dDescGloItem
Desconto Global Item
Decimal
999999999999999.99999999
dTotOpeItem
Total Item sem Despesas
Decimal
999999999999999.99999999
não enviado
Decimal
999999999999999.99999999
não enviado
Decimal
999999999999999.99999999
Preço Unitário da Antecipação
Decimal
999999999999999.99999999
não enviado, somente Despesa quando corresponda
Character
TEMP-TABLE tt-imposto
Atributo
Descrição
Tipo
Formato
sequencia
Sequência do item
Integer
iAfecIVA
Código Item
Integer
dDesAfecIVA
Tipo Afetação IVA
Character
dPropIVA
Proporção Gravação IVA
Decimal
999.99999999
dTasaIVA
% IVA
Integer
dBasGravIVA
Base de cálculo
Decimal
999999999999999.99999999
dLiqIVAItem
Valor IVA
Decimal
999999999999999.99999999
dBasExe
Base Isenta
Decimal
999999999999999.99999999
Execução
Em caso de erro nas validações acima, o erro será retornado por meio da temp-table ttt_erros_api.
Se os dados forem aceitos, a API devolverá as informações para geração do livro IVA compras quando for chamada a procedure pi_retorna_dados_iva_compras.
| title | Clique aqui para visualizar... |
|---|
| Bloco de código | ||
|---|---|---|
| ||
def var v_hdl_api as Handle format ">>>>>>9":U no-undo.
run prgfin\lpy\lpy724za.r persistent set v_hdl_api.
if valid-handle(v_hdl_api)
then do:
/* Busca linhas do livro */
run pi_retorna_dados_iva_compras in v_hdl_api (input "", /* Estabelecimento Inicial */
input "ZZZZZ", /* Estabelecimento Final */
input 01/01/2025, /* Data EmissÆo Inicial */
input 06/30/2025, /* Data EmissÆo Final */
input 0, /* Fornecedor Inicial */
input 999999, /* Fornecedor Final */
input "", /* Grupo Fornecedores Inicial */
input "ZZZZ", /* Grupo Fornecedores Final */
input no, /* Somente Faturas com IVA */
output v_cod_ruc, /* RUC da Empresa */
output table tt_iva_cprs_pry,
output table tt_erros_api).
DELETE PROCEDURE v_hdl_api. |
dRucEm | RUC Emissor | Character |
dDVEmi | Dígito Verificador RUC | Integer |
iTipCont | Tipo Contribuinte | Integer |
cTipReg | Tipo Regime (Série) | Integer |
dNomEmi | Razão Social | Character |
dNomFanEmi | Nome Fantasia | Character |
dDirEmi | Endereço | Character |
dNumCas | Número | Integer |
cDepEmi | Departamento (Estado) | Integer |
dDesDepEmi | Descrição Estado | Character |
cDisEmi | não enviado | Integer |
dDesDisEmi | não enviado | Character |
cCiuEmi | Código Cidade | Integer |
dDesCiuEmi | Descrição Cidade | Character |
dTelEmi | Telefone | Character |
dEmailE | Character | |
dDenSuc | não enviado | Character |
TEMP-TABLE tt-acteco | ||
Atributo | Descrição | Tipo |
cActEco | Código ACTECO (natureza operação) | Character |
dDesActEco | Descrição ACTECO | Character |
TEMP-TABLE tt-receptor | ||
Atributo | Descrição | Tipo |
iNatRec | Natureza Contribuinte | Integer |
iTiOpe | Tipo Operação (natureza operação) | Integer |
cPaisRec | Código País Receptor | Character |
dDesPaisRe | Descrição País | Character |
iTiContRec | Tipo de Contribuinte | Integer |
dRucRec | RUC Receptor | Character |
dDVRec | Dígito Verificador RUC | Integer |
iTipIDRec | Código Fiscal Documento Identificação | Integer |
dDTipIDRec | Descrição Documento Identificação | Character |
dNumIDRec | Número Documento Identificação | Character |
dNomRec | Razão Social | Character |
dNomFanRec | Nome Fantasia | Character |
dDirRec | Endereço | Character |
dNumCasRec | Número | Integer |
cDepRec | Departamento (Estado) | Integer |
dDesDepRec | Descrição Estado | Character |
cDisRec | não enviado | Integer |
dDesDisRec | não enviado | Character |
cCiuRec | Código Cidade | Integer |
dDesCiuRec | Descrição Cidade | Character |
dTelRec | Telefone | Character |
dEmailRec | Character | |
dCodCliente | Código Emitente | Character |
TEMP-TABLE tt-itens | |||
Atributo | Descrição | Tipo | Formato |
sequencia | Sequência do item | Integer | |
dCodInt | Código Item | Character | |
dNCM | Código NCM | Integer | |
dDesProSer | Descrição Item | Character | |
cUniMed | Código Unidade Medida | Integer | |
dDesUniMed | Descrição Unidade Medida | Character | |
dCantProSer | Quantidade | Decimal | 9999999999.9999 |
cRelMerc | Tolerância | Integer | |
dDesRelMerc | Descrição Tolerância | Character | |
dCanQuiMer | Quantidade Tolerância | Decimal | 9999999999.9999 |
dPorQuiMer | Percentual Tolerância | Decimal | 999.99999999 |
dPUniProSer | Preço Unitário com Impostos | Decimal | 999999999999999.99999999 |
dTotBruOpeItem | Total Item | Decimal | 999999999999999.99999999 |
dDescItem | Desconto Unitário Item | Decimal | 999999999999999.99999999 |
dPorcDesIt | % Desconto Total Item | Decimal | 999.99999999 |
dDescGloItem | Desconto Global Item | Decimal | 999999999999999.99999999 |
dTotOpeItem | Total Item sem Despesas | Decimal | 999999999999999.99999999 |
| dTotOpeGs | não enviado | Decimal | 999999999999999.99999999 |
| dAntPreUniIt | não enviado | Decimal | 999999999999999.99999999 |
| dAntGloPreUniIt | Preço Unitário da Antecipação | Decimal | 999999999999999.99999999 |
| dInfItem | não enviado, somente Despesa quando corresponda | Character | |
TEMP-TABLE tt-imposto | |||
Atributo | Descrição | Tipo | Formato |
sequencia | Sequência do item | Integer | |
iAfecIVA | Código Item | Integer | |
dDesAfecIVA | Tipo Afetação IVA | Character | |
dPropIVA | Proporção Gravação IVA | Decimal | 999.99999999 |
dTasaIVA | % IVA | Integer | |
dBasGravIVA | Base de cálculo | Decimal | 999999999999999.99999999 |
dLiqIVAItem | Valor IVA | Decimal | 999999999999999.99999999 |
dBasExe | Base Isenta | Decimal | 999999999999999.99999999 |
TEMP-TABLE tt-pagos | |||
Atributo | Descrição | Tipo | Formato |
iCondOpe | Código Condição Operação | Integer | |
dDCondOpe | Descrição Condição Operação | Character | |
iCondCred | Código Condição Crédito | Integer | |
dDCondCred | Descrição Condição Crédito | Character | |
dPlazoCre | Prazo Condição Crédito | Character | |
dCuotas | Parcelas | Integer | |
dMonEnt | Valor das antecipações quando condição à crédito | Decimal | 999999999999999.9999 |
TEMP-TABLE tt-monto-ini | |||
Atributo | Descrição | Tipo | Formato |
iTiPago | Código Tipo Pagamento | Integer | |
dDesTiPag | Descrição Tipo Pagamento | Character | |
dMonTiPag | Valor conforme Tipo Pagamento | Decimal | 999999999999999.9999 |
cMoneTiPag | Moeda | Character | |
dDMoneTiPag | Descrição Moeda | Character | |
dTiCamTiPag | Cotação | Decimal | 99999.9999 |
TEMP-TABLE tt-parcelas | |||
Atributo | Descrição | Tipo | Formato |
cMoneCuo | Moeda Parcela | Character | |
dDMoneCuo | Descrição Moeda | Character | |
dMonCuota | Valor Parcela | Decimal | 999999999999999.9999 |
dVencCuo | Vencimento Parcela | Character | |
TEMP-TABLE tt-compl-comercial | ||
Atributo | Descrição | Tipo |
OrdCompra | Número Ordem Compra | Character |
dOrdVta | Número Pedido Representante | Character |
dAsiento | não enviado | Character |
TEMP-TABLE tt-doc-assoc | ||
Atributo | Descrição | Tipo |
iTipDocAso | Tipo Documento Associado | Integer |
dDesTipDocAso | Descrição Tipo Documento Associado | Character |
dCdCDERef | Código Autorização Documento Associado | Character |
Execução
Em caso de erro nas validações acima, o erro será retornado por meio da temp-table RowErrors.
Se os dados forem aceitos, a API retornará um OK através do return-value.
| language | ruby |
|---|
Parâmetros de Saída
No caso do retorno ser NOK, todos os erros encontrados serão retornados na tabela Temp-Table tt_erros_apiRowErrors:
A tt-erros é uma tabela de retorno de dados referentes aos erros encontrados na manipulação dos dados das tabelas de entrada. A tt-erros retorna dados por meio de um registro contendo o código do erro e a sua descrição.
Obs.: Depois da chamada feita à API é imprescindível tratar os erros retornados caso existam.
TEMP-TABLE |
RowErrors | ||
Atributo | Descrição | Tipo |
ErrorSequence | Número Sequência | |
Integer |
Valor Inicial
ErrorNumber | Código Erro | Integer |
ttv_des_mensagem
Character
ErrorDescription | Descrição | Character |
ttv_row_id
Rowid
Atributo | Descrição |
ttv_num_erro | Número do erro. Sequencial dentro da temp-table. |
ttv_des_mensagem | Descrição do erro. |
ttv_des_ajuda | Descrição ajuda. |
ttv_row_id | Rowid. |
ErrorParameters | Parâmetros | Character |
ErrorType | Tipo | Character |
Errorhelp | Help | Character |
Errorsubtype | Subtipo | Character |