segunda-feira, 5 de maio de 2014

Mapeamento Interface AR (Open Interface)

Já tive que mapear a interface aberta (open interface)  do AR diversas vezes, tanto para  sistemas parceiros, customizações, ou corrigir alguma falha do programa.
Com as informações abaixo, você terá boas dicas, para realizar cargas de saldos, ou interface com sistema parceiro.




Essa interface é responsável pela geração de transações do tipo aviso de débito, crédito, notas fiscais, créditos em conta, ou seja quase todas as operações do AR.
Os dados de NF podem ser obtidos de vários locais, por exemplo: Order Management, Contracts ou sistemas legados.
Essas transações podem ou não gerar contas a receber, reter ou provisionar impostos enfim, todo o tipo de configuração possível no AR.
Além da configuração básica do módulo, vamos entrar num assunto mais técnico, que é a geração da transação a partir das linhas enviadas à interface.
Podemos enviar linhas distintas para a open interface do AR, como por exemplo, LINE, TAX e FREIGHT, que são ligados através de campos link, como LINK_TO_LINE_ATTRIBUTE1, LINK_TO_LINE_ATTRIBUTE2 e etc.
Existem alguns campos mandatórios, ou seja, independente de qual módulo ou sistema enviar as linhas, deverão ser preenchidos:

Mandatory Attributes

AGREEMENT_ID, CONS_BILLING_NUMBER, CONVERSION_DATE, CONVERSION_RATE, 
CONVERSION_TYPE, CREDIT_METHOD_FOR_ACCT_RULE, CREDIT_METHOD_FOR_INSTALLMENTS, CURRENCY_CODE, CUSTOMER_BANK_ACCOUNT_ID, CUST_TRX_TYPE_ID, DOCUMENT_NUMBER, 
DOCUMENT_NUMBER_SEQUENCE_ID,  HEADER_ATTRIBUTE1–15, HEADER_ATTRIBUTE_CATEGORY, HEADER_GDF_ATTRIBUTE1–15, INITIAL_CUSTOMER_TRX_ID, INTERNAL_NOTES, INVOICING_RULE_ID, ORIG_SYSTEM_BILL_ADDRESS_ID, ORIG_SYSTEM_BILL_CONTACT_ID, ORIG_SYSTEM_BILL_CUSTOMER_ID, ORIG_SYSTEM_SHIP_ADDRESS_ID,
ORIG_SYSTEM_SHIP_CONTACT_ID, ORIG_SYSTEM_SHIP_CUSTOMER_ID,
ORIG_SYSTEM_SOLD_CUSTOMER_ID, ORIG_SYSTEM_BATCH_NAME,
PAYMENT_SERVER_ORDER_ID, PAYMENT_SET_ID, PREVIOUS_CUSTOMER_TRX_ID,
PRIMARY_SALESREP_ID, PRINTING_OPTION, PURCHASE_ORDER, PURCHASE_ORDER_DATE, PURCHASE_ORDER_REVISION, REASON_CODE
RECEIPT_METHOD_ID, RELATED_CUSTOMER_TRX_ID, SET_OF_BOOKS_ID, TERM_ID,
TERRITORY_ID, TRX_DATE, TRX_NUMBER

E atributos opcionais, que deverão ser preenchidos, conforme a necessidade:

Optional Attributes

ACCOUNTING_RULE_DURATION, ACCOUNTING_RULE_ID, ATTRIBUTE1–15, Transactions 5 – 307, ATTRIBUTE_CATEGORY, INTERFACE_LINE_ATTRIBUTE1–15, INTERFACE_LINE_CONTEXT, INVENTORY_ITEM_ID, REFERENCE_LINE_ID, RULE_START_DATE, SALES_ORDER, SALES_ORDER_DATE, SALES_ORDER_LINE
SALES_ORDER_REVISION, SALES_ORDER_SOURCE, TAX_CODE e TAX_RATE.

Se você tem diversos módulos ou sistemas parceiros que enviam as linhas da Nota Fiscal, você ainda pode configurar contextos distintos, dessa forma o mesmo campo pode esperar informações distintas, e de forma organizada.



Segue os principais campo mapeados da interface do AR, para quando o campo line_type = LINE.

Coluna da Tabela
Validação
Tipo
Informação
INTERFACE_LINE_ID
ID da Linha
NUMBER(15)
Sequence da tabela de Interface. Será fornecido pelo Oracle.
INTERFACE_LINE_CONTEXT
Transaction Flexfield
Varchar2 (30)
Contexto
INTERFACE_LINE_ATTRIBUTE1
Transaction Flexfield

VARCHAR2(30)
Campo de utilização mandatória
INTERFACE_LINE_ATTRIBUTE2
Transaction Flexfield

VARCHAR2(30)
Campo de utilização mandatória
BATCH_SOURCE_NAME
select * from RA_BATCH_SOURCES_ALL
Where Org_id = 
(ID da Unidade Operacional)
And BATCH_SOURCE_TYPE = 
'FOREIGN'
And END_DATE is null
VARCHAR2(50)
Origem informada no parametro do programa

set_of_books_id
select  set_of_books_id  from org_organization_definitions Where Operating_unit = (ID da Unidade Operacional)
Number (15)
ID do Livro
LINE_TYPE
FIXO:  ‘LINE
VARCHAR2(20)
Tipo da linha
DESCRIPTION
VARCHAR2(240)
Limitar ate 20 caracteres
CURRENCY_CODE            
VARCHAR2(15)
MOEDA
AMOUNT
NUMBER
Valor da Nota fiscal
CUST_TRX_TYPE_ID
Retornar ID do tipo de transação 
NUMBER(15,0)
ID  do tipo de transacao
TERM_ID
NUMBER(15,0)
ID da Condiçao de Pagamento
ORIG_SYSTEM_BILL_CUSTOMER_ID
Select CUST_ACCOUNT_ID from  HZ_CUST_ACCT_SITES_ALL
NUMBER(15,0)
ID do Cliente (para Faturamento)
ORIG_SYSTEM_BILL_ADDRESS_ID
Select CUST_ACCT_SITE_ID from  HZ_CUST_ACCT_SITES_ALL
NUMBER(15,0)
ID do Endereço do cliente (para Faturamento)
ORIG_SYSTEM_SHIP_CUSTOMER_ID
Select CUST_ACCOUNT_ID from  HZ_CUST_ACCT_SITES_ALL
NUMBER(15,0)
ID do Cliente (para Entrega)
ORIG_SYSTEM_SHIP_ADDRESS_ID
Select CUST_ACCT_SITE_ID from  HZ_CUST_ACCT_SITES_ALL
NUMBER(15,0)
ID do Endereço do cleinte (para Entrega)
ORIG_SYSTEM_SOLD_CUSTOMER_ID
Select CUST_ACCOUNT_ID from  HZ_CUST_ACCT_SITES_ALL
NUMBER(15,0)
Id do Endereço de Cobrança
CONVERSION_TYPE
VARCHAR2(30)
User
CONVERSION_RATE

NUMBER
Taxa de Conversão da moeda
TRX_DATE
Retornar data informada  no parâmetro do programa
DATE
Data da Nota Fiscal
GL_DATE
Retornar data informada  no parâmetro do programa
DATE
Data da Contabilizarão
LINE_NUMBER
NUMBER(15,0)
Número da Linha
QUANTITY
NUMBER
Quantidade
QUANTITY ORDERED
NUMBER
Quantidade
UNIT_SELLING_PRICE
NUMBER
Preço Unitário
UNIT_STANDARD_PRICE
NUMBER
Preço Unitário
PRIMARY_SALESREP_ID
NUMBER(15,0)
ID do Vendedor
UOM_CODE

VARCHAR2(3)
Unidade de Medida

CREATED_BY

NUMBER(15,0)
-1

CREATION_DATE

DATE
Sysdate

LAST_UPDATED_BY

NUMBER(15,0)
-1

LAST_UPDATE_DATE

DATE
Sysdate

LAST_UPDATE_LOGIN

NUMBER(15,0)
-1

ORG_ID
Função que retorna o ORG_ID da Aplicação
NUMBER(15,0)
ID da unidade Operacional

HEADER_GDF_ATTR_CATEGORY
Fixo
VARCHAR2(30)
JL.BR.ARXTWMAI.Additional Info

LINE_GDF_ATTR_CATEGORY
Fixo
VARCHAR2(30)
JL.BR.ARXTWMAI.Additional Info

LINE_GDF_ATTRIBUTE1

VARCHAR2(150)
CFOP

LINE_GDF_ATTRIBUTE2

VARCHAR2(150)
Classificação Fiscal

LINE_GDF_ATTRIBUTE3

VARCHAR2(150)
Natureza da transacao

LINE_GDF_ATTRIBUTE4

VARCHAR2(150)
Origem do Item

LINE_GDF_ATTRIBUTE5

VARCHAR2(150)
Tipo Fiscal do Item

LINE_GDF_ATTRIBUTE6

VARCHAR2(150)
Situacao Tributaria Federal

LINE_GDF_ATTRIBUTE7

VARCHAR2(150)
Situacao Tributaria Estadual

LINE_GDF_ATTRIBUTE12

VARCHAR2(150)
Origem do Item

LINE_GDF_ATTRIBUTE13

VARCHAR2(150)
Situacao Tributaria Federal

LINE_GDF_ATTRIBUTE14

VARCHAR2(150)
Situacao Tributaria Estadual

WAREHOUSE_ID
select organization_id from org_organization_definitions where operating_unit = (Unidade Operacional)
NUMBER(15,0)
Local de Inventario


Assim que os dados populam a interface(open interface), para que as linhas se transformem na operação, rodamos o Programa Mestre de Notas Fiscais Automáticas, ou AuntoInvoice Master Program.



Quando as transações importadas são processadas através do programa AutoInvoice, ocorrem
os seguintes eventos:

• As informações contábeis, sobre linhas e sobre crédito de vendas preenchem três tabelas
de interface do Receivables.
• As linhas são ordenadas e agrupadas pelas regras definidas.
• O imposto é calculado pelo Sales Tax Engine.
• A data GL (General Ledger) é determinada pelas regras ou, caso as regras não sejam
usadas, a partir da data da entrega ou da ordem de venda.
• As contas GL são atribuídas com o AutoAccounting.
• Imposto, frete, compromissos e avisos de crédito são vinculados a linhas de transação
com base no ID da referência ou no flexfield de referência.
• Todas as transações são agrupadas em lotes pelo nome de origem do lote e pelo ID
da solicitação.
• As linhas validadas são usadas para criar as transações.
• As linhas com erro permanecem na tabela de interface para correção.

Tabelas de Interface da NFF Automática



Todas as linhas devem usar a tabela RA_INTERFACE_LINES_ALL. As outras duas tabelas
são opcionais.

Tabela RA_INTERFACE_LINES_ALL

Essa tabela contém informações relacionadas a todas as transações a serem processadas pelo AutoInvoice. As transações incluem NFFs, avisos de débito, avisos de crédito e créditos em conta. Essa tabela armazena dados importantes, como cliente para faturamento, cliente para entrega e data da transação.

• Cada registro contém informações sobre encargos da linha, encargos de imposto, despesas de frete ou encargos financeiros.
• O campo Line_Type identifica o tipo de informação contida no registro.
• Um registro pode ser um registro-pai: linha, frete em nível de cabeçalho ou encargos; ou um registro-filho: imposto ou frete em nível de linha.
• Um registro-filho é vinculado ao registro-pai através do flexfield de transação Link-To.

Tabela RA_INTERFACE_DISTRIBUTIONS_ALL

O Oracle Order Management não usa essa tabela porque o AutoAccounting cria as classificações contábeis no Oracle Receivables.

• Essa tabela contém classificações contábeis a serem usadas pelas transações definidas em
RA_INTERFACE_LINES_ALL.
• As contas definidas nessa tabela sobrepõem qualquer conta criada com o AutoAccounting.
• Você pode optar por passar algumas ou todas as informações sobre a conta para o AutoInvoice. As contas que não forem passadas serão derivadas usando o AutoAccounting.
• Os registros dessa tabela são vinculados aos registros da tabela RA_INTERFACE_LINES_ALL através do flexfield de transação.

Tabela RA_INTERFACE_SALESCREDITS_ALL

Essa tabela contém todas as informações sobre crédito de vendas para as transações na tabela RA_INTERFACE_LINES_ALL.

• As duas tabelas são vinculadas através do flexfield de transação.
• Essa tabela é obrigatória para rastrear créditos de vendas.

Até o próximo post!


Postar um comentário