Lógica de transformação de dados da fatura

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 6 min. de leitura
  • Integração de Operações de contas a pagar com Inteligência para documentos converte a fatura e os valores do campo de linha da fatura do documento de fatura para um formato compatível com o sistema que processa a fatura.

    Lógica de derivação de tipo

    A aplicação inclui a seguinte lógica para derivar o campo de tipo na fatura.

    • Considera o valor da ordem de compra no registro de fase da fatura
    • Se o valor da ordem de compra não estiver vazio, o tipo de fatura será definido como tipo de OC.
    • Se o valor da ordem de compra estiver vazio, o tipo de fatura será definido como tipo Não OC.

    Lógica de conversão de data

    A aplicação inclui a seguinte lógica para converter formatos de data mencionados no documento de fatura:
    • Considera AA-MM-DD como o formato ISO e o formato do sistema para conversão de data.
    • Considera datas somente no formato MM-DD-YYYY para conversão.
    • Não considera datas no formato DD-MM-YYYY se DD for menor que 12.
    Formato de data na fatura de entrada Formato de data convertido
    2 de set de 2022 2022-09-02
    3 de setembro de 2022 02/09/2022
    02-Set-2022 02/09/2022
    02-Set-2022 02/09/2022
    Sept-02-2022 02/09/2022
    Sep-02-2022 02/09/2022
    09-02-2022 02/09/2022
    02-09-2022 2022-02-09
    09/02/2022 02/09/2022
    09/02/2022 09/02/2022

    Lógica de conversão de moeda

    A aplicação oferece suporte a diferentes localidades, como sistemas numéricos dos EUA, Europa e Índia. Por exemplo, "X,XXX.XXX", "X.XXX,XX", "XX,XX.XXX", em que X é um número positivo de um dígito.

    Cenário Formato da moeda na fatura de entrada Formato da moeda convertida
    Valor seguido por um espaço e o código da moeda 76 EUR 76 EUR
    Valor seguido por um espaço e o símbolo da moeda 76€ 76 EUR
    Código da moeda seguido por vários espaços e o valor 76 EUR 76 EUR
    Símbolo da moeda seguido por vários espaços e o valor 76€ 76 EUR
    Valor sem código ou símbolo de moeda 76 76 (seguido pela moeda da ordem de compra ou da sessão)
    Valor separado por vírgula, ponto ou qualquer outro agrupamento ou separador decimal seguido por um espaço e o código da moeda 7.123.456,99 EUR 7123456,99 EUR
    Valor seguido pelo código da moeda sem espaço 76EUR 76 EUR
    Valor seguido pelo símbolo da moeda sem espaço 76€ 76 EUR
    Código da moeda seguido pelo valor sem espaço EUR76 76 EUR
    Símbolo da moeda seguido pelo valor sem espaço 76€ 76 EUR
    A aplicação procura primeiro o código de moeda exclusivo ativo na tabela Moeda [fx_currency] quando o valor de uma fatura de entrada tem um símbolo ou código de moeda. Se várias correspondências de moeda forem encontradas ou o valor da fatura de entrada não tiver código ou símbolo de moeda, a aplicação executará a lógica de moeda padrão, dependendo do tipo de fatura, da seguinte forma.
    • Fatura da OC - Pesquisa a ordem de compra e a moeda relacionada e define a moeda da fatura como a moeda da ordem de compra. Em caso de ordem de compra ou moeda relacionada ausente, a moeda da fatura é definida como a moeda do sistema.
    • Fatura não OC - pesquisa a entidade jurídica e a moeda local e define a moeda da fatura como a moeda local da entidade jurídica. No caso de entidade jurídica e moeda local ausentes, a moeda da fatura é definida como a moeda do sistema.

    Lógica de conversão de preço unitário

    A aplicação oferece suporte a diferentes localidades, como formato de número dos EUA, Europa e Índia. Por exemplo, "X,XXX.XXX", "X.XXX,XX", "XX,XX.XXX", em que X é um número positivo de um dígito.

    Se o preço unitário da fatura de entrada consistir no símbolo da moeda ou código presente na tabela Moeda [fx_currency], o preço unitário será convertido. Por exemplo, $ XX,XXX,XXX.XX ou USD XX,XX,XXX.X, em que X é um número positivo de um dígito.

    Preço unitário mencionado na fatura de entrada Preço unitário convertido
    1,000,25.10 100025,10
    1,00,025,10 100025,10
    US$ 1.000,25,10 100025,10
    1.000,25,10 $ 100025,10
    USD1,00,025,10 100025,10
    1,00,025,10 USD 100025,10

    Lógica de conversão decimal

    A aplicação oferece suporte a diferentes localidades, como localidades de formato decimal dos EUA, Europa e Índia. Por exemplo, "X,XXX.XXX", "X.XXX,XX", "XX,XX.XXX", em que X é um número positivo de um dígito.

    Os agrupamentos de moedas na fatura e nas linhas da fatura são determinados com base nas configurações de localidade do sistema do usuário. As moedas da Europa consideram a vírgula como separador decimal e o ponto como separador de milhar. Em alguns casos, vários caracteres também podem ser usados como separador de agrupamento. A fatura de entrada e as linhas de fatura presentes nas tabelas [sn_ap_ic_invoice_stage] e [sn_ap_ic_invoice_line_stage] são convertidas com base no posicionamento dos separadores decimais e de milhar.
    Nota:
    Durante a conversão, para números como 100,251 e 100.251, o sistema verifica se há outros separadores decimais mencionados na fatura e os converte para o formato decimal apropriado. Se a fatura contiver campos com separador decimal único, a conversão não se aplicará à fatura e o valor será definido como vazio, conforme mostrado na tabela abaixo.
    Para obter mais informações sobre conversão de moeda, consulte Currency administration.
    Formato decimal mencionado na fatura de entrada Formato decimal convertido
    1.000, 25,10 100025,10
    1,00,025,10 100025,10
    100,251 100.251
    10.102,510 10102.51
    10.10.102,510 1010102.51
    100.251
    100.251

    Lógica para buscar valores de campo de referência

    Campo de Referência Lógica para buscar o valor do campo
    Entidade jurídica O sistema busca o valor verificando os seguintes valores na ordem listada:
    1. Faturar para a empresa
    2. Rua, Cidade, Estado, País, CEP
    3. Cidade, Estado, País, CEP
    4. Estado, país, CEP
    5. País, CEP
    6. País
    7. CEP
    Ordem de Compra O sistema faz o seguinte:
    • O sistema considera o valor da ordem de compra mencionado na fase da fatura
    • Se o valor da ordem de compra tiver como prefixo caracteres especiais, letras ou zeros, a aplicação ignorará os prefixos e corresponderá ao valor restante da ordem de compra com o número do ERP da tabela da ordem de compra
    • Se uma ordem de compra exclusiva for encontrada, a aplicação preencherá a ordem de compra na fatura
    Fornecedor O sistema faz o seguinte:
    • O sistema considera o valor mencionado na fatura e faz uma correspondência completa com o fornecedor na tabela Fornecedor.
    • Se a fatura contiver uma ordem de compra associada ao fornecedor, a aplicação corresponderá ao nome do fornecedor mencionado na fatura com o nome do fornecedor da ordem de compra e preencherá o fornecedor.
    • Se o documento de fatura contiver o nome do fornecedor com mais de duas palavras, a aplicação executará a correspondência parcial de nome em relação aos detalhes do fornecedor na tabela do fornecedor junto com o endereço ou a cidade. Exemplo. Se o documento de fatura contiver o nome do fornecedor como XX Corp e o nome do fornecedor na tabela de fornecedores for XX Ltd, a aplicação corresponderá a XX na tabela de fornecedores junto com o endereço e preencherá o documento de fatura com o fornecedor correspondente.
    Se um registro de fornecedor exclusivo for encontrado em qualquer um dos itens acima, a aplicação preencherá o fornecedor na fatura.
    País O sistema faz o seguinte:
    • Considera o valor mencionado na fatura
    • Se este valor não for mencionado na fatura, ele preencherá o nome curto do país da Organização Internacional para Padronização (ISO) ou o nome longo do país ISO
    Subtotal, Valor do imposto, Outras cobranças O sistema faz o seguinte:
    • Se a fatura contiver XX.XXX,XXX, a aplicação agrupará o número em quatro dígitos após o separador decimal.
    • Se a fatura contiver três dígitos numéricos após o separador, a aplicação definirá os campos da fatura como vazios.
    • Se a fatura contiver uma combinação de separadores decimais e de milhar em um formulário, a aplicação usará como padrão o valor numérico para o separador decimal.