Seu Template de dados de Purchase to Pay - Processamento de faturas
Seu Template de dados de Purchase to Pay - Processamento de faturas
- Atributos recomendados para coleta
- Principais atividades a acompanhar
- Orientações para extração no SAP ECC
Purchase to Pay - Atributos do processamento de faturas
| Nome | Descrição | ||
|---|---|---|---|
| Atividade Activity | O nome de uma etapa de negócio específica ou de um evento ocorrido durante o ciclo de processamento da fatura. | ||
| Descrição O atributo Activity representa uma etapa ou ação distinta dentro do Workflow de processamento de faturas. Essas atividades são derivadas de vários eventos do sistema, como criação de documentos, alterações de status, aprovações ou ações de usuários registradas nos logs de alterações do SAP. A análise das atividades é o núcleo do Process Mining. Ela permite visualizar mapas de processo, identificar gargalos, como longas esperas após 'Invoice Sent For Approval', ciclos de retrabalho, como repetições de 'Payment Block Set' e 'Payment Block Released', e desvios de Conformidade. A sequência e a frequência das atividades revelam o fluxo real do processo, como ele é executado hoje. Por que isso importa Ele define as etapas no mapa de processo, permitindo visualizar os fluxos do processo, descobrir gargalos e identificar retrabalho. Onde obter Esse atributo normalmente é derivado de várias fontes, incluindo códigos de transação (SY-TCODE), campos de status em tabelas como RBKP, por exemplo, RBSTAT, e eventos de alteração das tabelas CDHDR e CDPOS. Exemplos Fatura estacionadaFatura enviada para aprovaçãoFatura aprovadaFatura contabilizadaFatura compensada | |||
| Horário do evento EventTime | O registro exato de data e hora em que uma atividade ocorreu. | ||
| Descrição Event Time registra o momento exato em que uma atividade de negócio foi executada e registrada no sistema de origem. Esse registro de data e hora é a base cronológica do processo, organizando todas as atividades de cada fatura em uma sequência coerente. Na análise, Event Time é essencial para calcular todas as métricas baseadas em duração, como tempos de ciclo, tempos de espera e tempos de processamento entre atividades. Ele alimenta Dashboards como 'Invoice End-to-End Cycle Time' e 'Payment Block Resolution Duration', fornecendo os dados necessários para medir o tempo decorrido entre quaisquer dois pontos do processo. Registros de data e hora precisos são fundamentais para identificar atrasos e gargalos de performance. Por que isso importa Esse registro de data e hora é essencial para ordenar os eventos corretamente e calcular todas as métricas de performance, como tempos de ciclo e durações de gargalos. Onde obter Normalmente, ele é derivado da combinação da data da alteração (UDATE) com o horário da alteração (UTIME) da tabela de cabeçalho de documentos de alteração, CDHDR. Para eventos específicos de criação, pode ser usada a data e o horário de criação de tabelas como RBKP (ERNAM, ERZET). Exemplos 2023-03-15T10:30:00Z2023-03-16T14:05:21Z2023-03-28T09:00:00Z | |||
| Número da fatura InvoiceNumber | O identificador exclusivo de um documento de fatura do fornecedor. | ||
| Descrição O número da fatura funciona como o identificador exclusivo do caso na jornada de processamento da fatura. Cada número corresponde a uma única fatura recebida de um fornecedor, permitindo acompanhar todas as atividades relacionadas, desde a captura dos dados até o pagamento final, como parte de uma única instância de processo. Na análise de process mining, esse atributo é fundamental para reconstruir o ciclo de vida completo de cada fatura. Ele permite conectar eventos distintos registrados no SAP, como estacionamento, contabilização, bloqueio e compensação, em uma sequência cronológica. Isso oferece uma visão clara de como cada fatura é processada, quanto tempo isso leva e onde ocorrem desvios em relação ao processo padrão. Por que isso importa Essa é a chave primária que conecta todos os eventos relacionados a uma única fatura, sendo a base essencial para a análise do processo e a exploração de variantes. Onde obter Normalmente, é o número do documento da tabela SAP RBKP, campo BELNR, frequentemente concatenado com o código da empresa (BUKRS) e o exercício fiscal (GJAHR) para garantir exclusividade absoluta. Exemplos 510004567851000456795100045680 | |||
| Data de compensação ClearingDate | A data em que o pagamento foi feito e a fatura foi compensada no contas a pagar. | ||
| Descrição A Clearing Date marca a etapa final do ciclo de vida da fatura: o pagamento. É a data em que o item em aberto da fatura é compensado por um documento de pagamento no sistema. Essa data representa o momento real da execução do pagamento. Esse atributo é o ponto final de vários KPIs importantes, incluindo 'Average Invoice Cycle Time' e 'On-Time Payment Rate'. Ele é comparado com a Payment Due Date para medir a performance dos pagamentos. Na análise de descontos financeiros, ele é comparado com o período de desconto para verificar se o pagamento foi feito a tempo de aproveitar o desconto. Por que isso importa Ele marca a conclusão do processo e serve de base para calcular o tempo de ciclo total, as taxas de pagamento no prazo e a realização de descontos financeiros. Onde obter Para itens compensados, esse é o campo 'Clearing Date' (AUGDT) da tabela de itens de fornecedores compensados, BSAK. Exemplos 2023-04-152023-05-022023-05-20 | |||
| Data de lançamento PostingDate | A data em que a fatura foi lançada oficialmente nos livros contábeis. | ||
| Descrição A Posting Date é uma data fundamental no processo contábil. Ela determina o período fiscal em que a despesa da fatura é reconhecida no General Ledger. Normalmente, ela é definida pelo profissional de contas a pagar durante o processamento da fatura. Na análise de processos, a atividade 'Invoice Posted', marcada por essa data, é um marco importante. O tempo entre o recebimento da fatura e a Posting Date é um componente essencial do tempo de ciclo total. Essa data também é fundamental para relatórios financeiros e análises de throughput, como o acompanhamento do volume de faturas lançadas por semana ou mês. Por que isso importa Ela marca um ponto importante do processo, determina o período financeiro da transação e é um componente essencial do cálculo do tempo de ciclo. Onde obter Esse é o campo 'Posting Date' (BUDAT) da tabela de cabeçalho do documento de fatura, RBKP. Exemplos 2023-03-202023-04-052023-04-11 | |||
| Data de vencimento do pagamento PaymentDueDate | A data até a qual o pagamento da fatura deve ser feito ao fornecedor, de acordo com as condições de pagamento. | ||
| Descrição A Payment Due Date é calculada com base na data-base da fatura e nas condições de pagamento acordadas. Ela representa o prazo para realizar o pagamento sem atrasos e sem correr o risco de incorrer em penalidades ou prejudicar o relacionamento com o fornecedor. Esse atributo é fundamental para KPIs de performance e Conformidade, como 'On-Time Payment Rate' e 'Cash Discount Opportunity Loss'. Ao comparar a data real do pagamento (Clearing Date) com a Payment Due Date, a análise pode determinar automaticamente se o pagamento foi feito no prazo, antecipadamente ou com atraso. Ele é um elemento essencial do Dashboard Payment Terms Adherence. Por que isso importa Ele serve como referência para medir a performance dos pagamentos no prazo e identificar oportunidades de obter descontos por pagamento antecipado. Onde obter Essa data geralmente é calculada. A data-base do pagamento (ZFBDT) está na tabela BSEG. A lógica da data de vencimento também depende das condições de pagamento (BSEG-ZTERM). Exemplos 2023-04-192023-05-052023-05-11 | |||
| Motivo do bloqueio de pagamento PaymentBlockReason | Um código que indica o motivo pelo qual uma fatura está bloqueada para pagamento. | ||
| Descrição Quando uma fatura apresenta uma divergência ou precisa de uma investigação adicional, um bloqueio de pagamento é aplicado. O código Payment Block Reason especifica por que o bloqueio foi definido, por exemplo, devido a uma divergência de quantidade, divergência de preço ou bloqueio manual. Esse atributo é essencial para o Dashboard 'Payment Block Resolution Duration'. Analisar a frequência e a duração dos bloqueios por motivo ajuda a identificar as causas-raiz dos atrasos nos pagamentos. Por exemplo, se 'Price Discrepancy' for o motivo mais comum para bloqueios longos, isso pode indicar um problema nos dados mestres ou no processo de pedidos de compra que precisa ser corrigido. Por que isso importa Ele explica por que as faturas estão atrasadas, permitindo analisar as causas-raiz dos bloqueios de pagamento e priorizar iniciativas de melhoria do processo. Onde obter O motivo do bloqueio de pagamento pode ser encontrado no nível do item, na tabela RSEG, campo SPGRS, ou na tabela de documentos contábeis BSEG, campo ZLSPR. Exemplos RIM | |||
| Nome do usuário UserName | O ID do usuário SAP que executou a atividade. | ||
| Descrição O atributo User Name identifica a pessoa específica responsável por executar determinada atividade no processo. Normalmente, esse é o nome de usuário do SAP registrado com a transação ou o evento de alteração. Esse atributo é fundamental para analisar a performance no nível individual ou da equipe. Ele ajuda a responder perguntas como 'Quem são os aprovadores mais rápidos?' ou 'Quais usuários geram mais retrabalho?'. Ele é usado em Dashboards para analisar a distribuição da carga de trabalho, identificar necessidades de treinamento e entender variações de performance entre diferentes colaboradores. Por que isso importa Ele permite analisar a performance e a carga de trabalho por pessoa ou equipe, ajudando a identificar os melhores desempenhos, oportunidades de treinamento e desequilíbrios na alocação de recursos. Onde obter Esse é o campo 'Changed By' (USERNAME) da tabela de cabeçalho de documentos de alteração, CDHDR. Para eventos de criação, pode ser o campo 'Entered by' (ERNAM) de tabelas como RBKP. Exemplos JSMITHBWILSONCHEN | |||
| Número do fornecedor VendorNumber | Um identificador exclusivo do fornecedor que enviou a fatura. | ||
| Descrição O Vendor Number é a chave dos dados mestres que identifica o fornecedor. Ele vincula a transação da fatura a um parceiro de negócio específico, permitindo análises com base nas características do fornecedor. A análise do processo por Vendor Number pode revelar insights importantes sobre o relacionamento e a performance dos fornecedores. Por exemplo, ela pode ajudar a identificar quais fornecedores enviam repetidamente faturas problemáticas que geram bloqueios de pagamento ou divergências, ou quais faturas são processadas com mais eficiência. Essas informações são valiosas para a gestão de fornecedores e iniciativas de strategic sourcing. Por que isso importa Ele permite analisar cada fornecedor, ajudando a identificar padrões, problemas ou ganhos de eficiência associados a fornecedores específicos. Onde obter Esse é o campo 'Invoicing Party' (LIFNR) da tabela de cabeçalho do documento de fatura, RBKP. Exemplos 100345100876200112 | |||
| Número do pedido de compra PurchaseOrderNumber | O identificador do Purchase Order (PO) com o qual a fatura é conciliada. | ||
| Descrição O Purchase Order Number vincula uma fatura ao documento de compras original. Ele é fundamental para a conciliação de três vias (PO, Goods Receipt, Invoice) e para analisar a eficiência do processo de faturas vinculadas a POs. Esse atributo é essencial para Dashboards como 'Invoice-PO Matching Discrepancy Rate'. Ele permite separar o processo entre faturas com PO e faturas sem PO, que geralmente seguem fluxos e têm níveis de complexidade muito diferentes. A análise de problemas relacionados a POs específicos pode ajudar a diagnosticar falhas na etapa anterior do processo de compras. Por que isso importa Ele conecta a fatura ao processo de compras, permitindo analisar faturas com e sem PO e identificar divergências na conciliação. Onde obter Normalmente, esse dado é encontrado no nível do item. O 'Purchase Order Number' (EBELN) está na tabela de itens da fatura, RSEG. Talvez seja necessário agregá-lo ao nível do cabeçalho. Exemplos 450001756345000175644500017565 | |||
| Valor da fatura InvoiceAmount | O valor bruto total da fatura na moeda original do documento. | ||
| Descrição Invoice Amount representa o valor total da fatura enviada pelo fornecedor. Essa é uma métrica financeira importante para cada caso de fatura. No Process Mining, esse atributo é essencial para análises baseadas em valor. Ele permite filtrar e segmentar o processo de acordo com o valor da fatura, que muitas vezes está relacionado à complexidade do processo e aos requisitos de aprovação. Por exemplo, faturas de alto valor podem seguir um fluxo de aprovação diferente e mais rigoroso. O atributo também é usado em análises de Conformidade, como na verificação de faturas de alto valor que ignoraram etapas de aprovação obrigatórias. Por que isso importa Ele permite análises baseadas em valor, ajudando a priorizar faturas de alto valor e entender como o valor da fatura afeta o fluxo do processo e a Conformidade. Onde obter Esse é o campo 'Gross invoice amount' (RMWWR) da tabela de cabeçalho do documento de fatura, RBKP. Exemplos 1500.7512500.00850.20 | |||
| Código da empresa CompanyCode | O identificador da entidade legal ou empresa para a qual a fatura está sendo processada. | ||
| Descrição O Company Code é uma unidade organizacional fundamental no SAP Financials, representando uma entidade legal independente. Todas as transações financeiras, incluindo faturas, são lançadas em um código de empresa específico. Esse atributo permite segmentar a análise do processo por entidade legal. Ele é essencial para comparar a performance, a Conformidade e a eficiência do processo entre diferentes empresas de um grupo corporativo. Os Dashboards podem ser filtrados por Company Code para oferecer uma visão específica dos KPIs de processamento de faturas de cada empresa. Por que isso importa Ele permite comparar processos e avaliar a performance entre diferentes entidades legais dentro de uma organização. Onde obter Esse é o campo 'Company Code' (BUKRS) da tabela de cabeçalho do documento de fatura, RBKP. Exemplos 10002000US01 | |||
| Condições de pagamento PaymentTerms | O código que define as condições de pagamento acordadas com o fornecedor, como períodos de desconto e datas de vencimento. | ||
| Descrição Payment Terms define as regras para o pagamento da fatura e os eventuais descontos financeiros disponíveis para pagamentos antecipados. Os exemplos incluem 'Net 30 days' ou '2% 10, Net 30', que significa um desconto de 2% se o pagamento for feito em 10 dias; caso contrário, o valor total vence em 30 dias. Esse atributo é a base do Dashboard 'Cash Discount Opportunity Loss' e do KPI 'Cash Discount Capture Rate'. A análise usa as condições de pagamento em conjunto com as datas de lançamento e pagamento para determinar se havia um desconto disponível e se ele foi aproveitado. O atributo também é essencial para o Dashboard Payment Terms Adherence. Por que isso importa Ele é essencial para analisar as taxas de aproveitamento de descontos financeiros e entender o impacto financeiro dos atrasos no processo. Onde obter Esse é o campo 'Terms of Payment Key' (ZTERM) da tabela de cabeçalho do documento de fatura, RBKP. Exemplos Z0010001NT30 | |||
| Conta do razão geral GeneralLedgerAccount | O número da conta do G/L na qual a despesa ou o custo da fatura é lançado. | ||
| Descrição A conta General Ledger (G/L) é a conta de destino no plano de contas onde o impacto financeiro da fatura é registrado. Esse é um dado essencial para relatórios financeiros e gestão de custos. No Process Mining, analisar a conta do G/L adiciona uma dimensão financeira ao fluxo do processo. O Dashboard 'General Ledger Account Usage Analysis' pode revelar padrões de gastos, identificar possíveis classificações incorretas de faturas e garantir que os custos sejam alocados aos departamentos ou projetos corretos. Ele ajuda a conectar a execução do processo ao impacto financeiro. Por que isso importa Ele adiciona uma dimensão financeira ao processo, permitindo analisar a alocação de custos, os padrões de gastos e possíveis classificações incorretas de faturas. Onde obter Esse dado é encontrado no nível do item. O 'G/L Account Number' (HKONT) está na tabela de itens da fatura RSEG para faturas com PO ou na BSEG para faturas diretas de FI. Exemplos 630000655100741000 | |||
| Desconto financeiro perdido IsCashDiscountLost | Um indicador calculado que informa se um desconto financeiro disponível não foi aproveitado. | ||
| Descrição Esse é um atributo booleano calculado com base nas condições de pagamento e na data real do pagamento. Ele recebe o valor verdadeiro quando as 'Payment Terms' oferecem um desconto para pagamento antecipado e a 'Clearing Date' ocorre após o fim do período de desconto. Isso mede diretamente a perda financeira causada por ineficiências do processo. Esse atributo é a base do Dashboard 'Cash Discount Opportunity Loss'. Ele permite quantificar facilmente o impacto financeiro dos atrasos no processamento. Ao filtrar os casos em que esse indicador é verdadeiro, os analistas podem investigar as variantes de processo e os gargalos que mais frequentemente levam à perda de descontos, criando uma justificativa sólida para a melhoria do processo. Por que isso importa Ele quantifica diretamente a perda financeira causada pelos atrasos no processo, criando um argumento consistente para otimizar o Workflow de processamento de faturas. Onde obter Esse atributo não existe no SAP. Ele é calculado durante a transformação dos dados interpretando 'PaymentTerms' e comparando 'ClearingDate' com a data de vencimento do desconto. Exemplos truefalse | |||
| Está vencida IsOverdue | Um indicador calculado que informa se a fatura foi paga após a data de vencimento do pagamento. | ||
| Descrição Esse é um atributo booleano calculado comparando a 'Clearing Date', a data real do pagamento, com a 'Payment Due Date'. Se a data de compensação for posterior à data de vencimento, o indicador será verdadeiro; caso contrário, será falso. Isso fornece uma medida simples e direta da performance de pagamentos no prazo para cada fatura. Esse atributo simplifica a análise e a visualização nos Dashboards. Ele permite filtrar e agregar dados facilmente para calcular o KPI 'On-Time Payment Rate'. Os usuários podem segmentar rapidamente o processo para comparar os fluxos de faturas vencidas com os fluxos de faturas pagas no prazo, revelando potencialmente os padrões de processo que levam a pagamentos atrasados. Por que isso importa Ele simplifica a análise da performance de pagamentos no prazo e permite comparar facilmente os processos de faturas pagas no prazo e com atraso. Onde obter Esse atributo não existe no SAP. Ele é calculado durante a transformação dos dados usando a fórmula: ClearingDate > PaymentDueDate. Exemplos truefalse | |||
| Horário de término EndTime | O registro de data e hora que indica quando uma atividade foi concluída. Para eventos instantâneos, ele é igual ao Start Time. | ||
| Descrição O atributo End Time marca a conclusão de uma atividade específica. Em muitos eventos do SAP, registrados como pontos únicos no tempo, o End Time será idêntico ao Start Time. No entanto, para atividades com duração mensurável, como uma etapa de aprovação que está sendo executada, ele pode representar a conclusão desse trabalho. Na análise de processos, ter um End Time distinto permite medir o tempo de processamento da atividade separadamente do tempo de espera que a precede. Isso ajuda a diferenciar quanto tempo uma atividade leva para ser executada de quanto tempo um caso espera até que ela comece, gerando insights mais profundos sobre a eficiência dos recursos. Por que isso importa Ele permite calcular o tempo de processamento da atividade, diferenciando-o do tempo de espera entre atividades e aprimorando a análise de gargalos. Onde obter Geralmente, ele é igual ao Start Time e é derivado de CDHDR-UDATE e CDHDR-UTIME. Em alguns casos, pode ser derivado de logs de Workflow que registram explicitamente o início e o fim de uma tarefa. Exemplos 2023-03-15T10:35:10Z2023-03-16T14:10:00Z2023-03-28T09:02:45Z | |||
| Moeda Currency | O código da moeda do valor da fatura. | ||
| Descrição O atributo Currency especifica a moeda na qual o valor da fatura é expresso, por exemplo, USD, EUR ou JPY. Esse atributo fornece o contexto essencial para Invoice Amount. Ele permite interpretar e agregar corretamente os dados financeiros, especialmente em organizações globais que trabalham com várias moedas. A análise pode ser filtrada por moeda para comparar a eficiência do processamento ou os problemas entre diferentes regiões monetárias. Para uma agregação financeira significativa, talvez seja necessário converter os valores para uma única moeda de reporte. Por que isso importa Ele fornece o contexto necessário para qualquer valor financeiro, garantindo uma interpretação correta e permitindo filtrar e analisar os dados por moeda. Onde obter Esse é o campo 'Currency Key' (WAERS) da tabela de cabeçalho do documento de fatura, RBKP. Exemplos USDEURGBP | |||
| Motivo da rejeição RejectionReason | Um código ou texto que explica por que uma fatura foi rejeitada durante o Workflow de aprovação. | ||
| Descrição Quando um aprovador rejeita uma fatura, o ideal é que ele informe o motivo da rejeição. Pode ser um código padronizado ou um comentário em texto livre indicando problemas como 'Incorrect PO number', 'Duplicate Invoice' ou 'Amount incorrect'. Esses dados são essenciais para o Dashboard 'Invoice Rejection Reasons & Trends'. Ao analisar a frequência dos diferentes motivos de rejeição, a empresa pode identificar problemas comuns e implementar ações corretivas. Por exemplo, se 'Incorrect PO number' for um motivo frequente, isso pode indicar a necessidade de melhorar a comunicação com os fornecedores ou treinar a equipe responsável pela entrada de dados. Essa análise é fundamental para reduzir o retrabalho do processo. Por que isso importa Ele fornece a causa-raiz das rejeições, permitindo melhorias direcionadas no processo para reduzir o retrabalho e aumentar as taxas de acerto na primeira tentativa. Onde obter Essas informações geralmente não são armazenadas em um único campo padrão. Elas podem estar nos logs de contêineres do Workflow, em campos de texto longo associados ao documento ou em campos específicos de uma solução de Workflow personalizada. Exemplos DUPLICATE_INVWRONG_AMTNO_PO_MATCH | |||
| Sistema de origem SourceSystem | Identifica o sistema de origem específico do qual os dados foram extraídos. | ||
| Descrição O atributo Source System indica a origem dos dados do evento, por exemplo, o nome de uma instância específica do SAP ECC. Ele é especialmente importante em ambientes com vários sistemas ERP ou quando os dados são combinados de fontes diferentes. Na análise, esse atributo ajuda a diferenciar processos e performance entre sistemas, regiões ou unidades de negócio que podem operar em instâncias separadas. Ele mantém a linhagem dos dados clara e permite filtrar e analisar informações específicas de cada sistema. Por que isso importa Ele fornece um contexto essencial em ambientes com vários sistemas, permitindo separar corretamente os dados e analisar a performance específica de cada sistema. Onde obter Normalmente, esse é um valor estático adicionado durante a extração dos dados, representando o ID do sistema SAP (TADIR-SRCSYSTEM) ou um identificador atribuído manualmente à instância específica do SAP. Exemplos SAPECC_PROD_EUECC_US_FINSAP_ERP_6_EHP8 | |||
| Tipo de documento DocumentType | Um código que classifica o documento contábil, por exemplo, como uma fatura de fornecedor ou uma nota de crédito. | ||
| Descrição O Document Type é usado para categorizar diferentes tipos de transações de negócio no SAP. No processamento de faturas, os tipos comuns incluem 'RE' para faturas padrão ou 'KG' para notas de crédito de fornecedores. O tipo de documento controla aspectos do lançamento, como o intervalo de numeração usado. Na análise, esse atributo permite filtrar o processo por tipos específicos de transação. Por exemplo, o processo de tratamento de uma nota de crédito pode ser muito diferente do processo de uma fatura padrão. Separar esses fluxos usando o Document Type proporciona uma visão do processo mais precisa e significativa. Por que isso importa Ele permite separar e analisar diferentes transações de negócio, como faturas e notas de crédito, que seguem processos distintos. Onde obter Esse é o campo 'Document Type' (BLART) da tabela de cabeçalho do documento de fatura, RBKP. Exemplos REKRKG | |||
| Última atualização dos dados LastDataUpdate | Registro de data e hora que indica quando os dados do processo foram atualizados pela última vez a partir do sistema de origem. | ||
| Descrição Esse atributo registra a data e o horário da extração ou atualização de dados mais recente. Ele se aplica a todo o conjunto de dados, e não a eventos individuais, fornecendo uma indicação clara de quão atuais estão os dados. Esse é um atributo de metadados essencial para usuários de Dashboards e analistas. Ele ajuda a entender o período coberto pela análise e garante que as decisões sejam tomadas com base em informações atuais. Normalmente, ele aparece em destaque nos Dashboards para informar aos usuários quando os dados foram atualizados. Por que isso importa Ele informa aos usuários quão atuais estão os dados, garantindo que as análises e decisões sejam baseadas em informações atualizadas. Onde obter Esse valor é gerado e inserido no conjunto de dados pela ferramenta de extração ou ETL no momento da atualização dos dados. Exemplos 2024-05-20T08:00:00Z2024-05-21T08:00:00Z2024-05-22T08:00:00Z | |||
Purchase to Pay - Atividades de processamento de faturas
| Atividade | Descrição | ||
|---|---|---|---|
| Bloqueio de pagamento definido | Essa atividade ocorre quando um bloqueio é aplicado a um item de linha da fatura, impedindo seu pagamento. Os bloqueios podem ser definidos automaticamente devido a divergências na conciliação de três vias ou manualmente por vários motivos. | ||
| Por que isso importa Esse evento é fundamental para medir a duração da resolução do bloqueio de pagamento e identificar as causas-raiz dos atrasos nos pagamentos. Ele destaca problemas de preço, quantidade ou aprovações necessárias. Onde obter Esse é um evento explícito que pode ser acompanhado pelos logs de documentos de alteração, nas tabelas CDHDR e CDPOS, para a tabela BSEG, campo ZLSPR (chave de bloqueio de pagamento). Captura Registro de data e hora dos documentos de alteração (CDHDR) quando o valor de BSEG-ZLSPR muda de vazio para preenchido. Tipo de evento explicit | |||
| Dados da fatura capturados | Marca a criação inicial do documento da fatura no SAP, seja como documento estacionado ou como documento totalmente contabilizado. Normalmente, esse é o primeiro evento registrado no sistema no ciclo de vida da fatura e serve como horário de início do processo. | ||
| Por que isso importa Essa atividade é o principal ponto de partida para medir o tempo de ciclo de ponta a ponta do processamento de faturas. Analisar a duração a partir desse ponto ajuda a identificar atrasos na fase inicial de entrada de dados e criação do documento. Onde obter O registro de data e hora da criação é capturado na tabela SAP BKPF, nos campos CPUDT (data em que o documento contábil foi inserido) e CPUTM (horário de entrada). Captura Use o registro de data e hora da criação do cabeçalho da tabela BKPF (CPUDT). Tipo de evento explicit | |||
| Fatura compensada | Essa atividade marca a etapa final de um ciclo de vida bem-sucedido da fatura, quando o passivo em aberto é compensado por um documento de pagamento. Isso indica que o pagamento foi executado. | ||
| Por que isso importa Como principal evento final, ele é essencial para calcular o tempo total do ciclo de ponta a ponta. Confirma a conclusão bem-sucedida do processo e é usado para medir a performance de pagamentos pontuais. Onde obter Esse é um evento explícito registrado na tabela de itens de linha da fatura BSEG. A data de compensação é armazenada no campo AUGDT, e o número do documento de compensação, no campo AUGBL. Captura Use a data de compensação (BSEG-AUGDT) do item de linha do documento da fatura. Tipo de evento explicit | |||
| Fatura contabilizada | Esse é um evento financeiro importante, no qual a fatura é registrada oficialmente no razão geral, criando um passivo. O documento passa de um estado temporário, estacionado, para um lançamento contábil permanente. | ||
| Por que isso importa A contabilização é um marco importante que confirma a validade da fatura. Ela é um pré-requisito para o pagamento e um indicador essencial do throughput do processamento. Onde obter Esse é um evento explícito registrado na tabela de cabeçalho de documentos BKPF. O registro de data e hora é a data de contabilização, BKPF-BUDAT. O documento não terá mais status 'estacionado'. Captura Use a data de contabilização (BKPF-BUDAT) para documentos que não estejam estacionados (BKPF-BSTAT vazio ou ' '). Tipo de evento explicit | |||
| Fatura estornada | Representa o cancelamento de um documento de fatura contabilizado. Um documento de estorno é criado para anular o impacto financeiro da fatura original. | ||
| Por que isso importa Essa atividade destaca uma exceção significativa e um caminho de retrabalho. Analisar a frequência e os motivos dos estornos pode revelar problemas sistêmicos no processo de validação e contabilização de faturas. Onde obter Esse é um evento explícito registrado na tabela de cabeçalho de documentos BKPF. O cabeçalho do documento estornado contém o número do documento de estorno (STBLG) e o exercício fiscal (STJAH). Captura Identifique os documentos em que BKPF-STBLG esteja preenchido. O registro de data e hora do evento é a data de contabilização do documento de estorno. Tipo de evento explicit | |||
| Bloqueio de pagamento liberado | Representa a remoção de um bloqueio de pagamento de um item de linha da fatura, permitindo que ele avance para a execução do pagamento. Isso indica que um problema identificado anteriormente foi resolvido. | ||
| Por que isso importa Essa atividade encerra a medição da duração do bloqueio. Analisar o tempo entre a aplicação e a liberação de um bloqueio revela a eficiência do processo de resolução do problema. Onde obter Esse evento é acompanhado pelos logs de documentos de alteração, nas tabelas CDHDR e CDPOS, para a tabela BSEG, campo ZLSPR (chave de bloqueio de pagamento), quando o bloqueio é removido. Captura Registro de data e hora dos documentos de alteração (CDHDR) quando o valor de BSEG-ZLSPR muda de preenchido para vazio. Tipo de evento explicit | |||
| Fatura aprovada | Indica que a fatura foi formalmente aprovada pela autoridade designada, permitindo que avance para contabilização e pagamento. Muitas vezes, essa é a etapa final de um Workflow. | ||
| Por que isso importa Esse marco encerra a medição do tempo do ciclo de aprovação. Ele desbloqueia o processo, permitindo um pagamento pontual e ajudando a analisar a distribuição da carga de trabalho entre os aprovadores. Onde obter Normalmente, isso é capturado nas tabelas do SAP Business Workflow, identificando a conclusão de uma tarefa de aprovação. Como alternativa, pode ser inferido a partir da liberação de um bloqueio de pagamento relacionado à aprovação. Captura Registro de data e hora da etapa de aprovação concluída nos logs do Workflow ou da remoção de um bloqueio de pagamento específico. Tipo de evento inferred | |||
| Fatura enviada para aprovação | Representa o momento em que uma fatura é enviada para um Workflow formal de aprovação. O mecanismo de captura depende muito da implementação específica do SAP Workflow ou de um sistema de terceiros. | ||
| Por que isso importa Essa atividade inicia a contagem do KPI de tempo do ciclo de aprovação da fatura. Ela é essencial para identificar atrasos na cadeia de aprovação e analisar a performance dos aprovadores. Onde obter Esse evento normalmente é capturado nas tabelas do SAP Business Workflow, como SWW_WI2OBJ e SWWLOG, identificando o início de uma tarefa de aprovação específica. Em cenários mais simples, ele pode ser inferido a partir de uma alteração de status em um campo personalizado. Captura É necessário analisar os logs do SAP Workflow ou os campos de status personalizados vinculados ao documento da fatura. Tipo de evento inferred | |||
| Fatura estacionada | Indica que uma fatura foi inserida no SAP, mas ainda não foi contabilizada no razão geral. Esse é um estado temporário que permite revisão, correção ou aprovação antes da contabilização financeira. | ||
| Por que isso importa Acompanhar quando as faturas são estacionadas e por quanto tempo evidencia gargalos no processo de validação e aprovação antes da contabilização. Isso separa o tempo de entrada de dados do tempo de processamento financeiro. Onde obter Isso é inferido a partir do status do documento na tabela BKPF, campo BSTAT. O valor 'V' (documento estacionado) ou 'W' (documento estacionado com liberação de alteração) indica um estado estacionado. Captura Identifique os documentos cujo campo de status BKPF-BSTAT seja 'V'. O registro de data e hora do evento é a data de criação BKPF-CPUDT. Tipo de evento inferred | |||
| Fatura rejeitada | Indica que uma fatura foi rejeitada durante o processo de aprovação. Essa ação normalmente exige correção e reenvio, criando um ciclo de retrabalho. | ||
| Por que isso importa Acompanhar as rejeições é essencial para identificar motivos comuns de falha, como dados incorretos ou violações de políticas. Isso ajuda a quantificar o retrabalho e identificar áreas para melhoria do processo ou orientação dos fornecedores. Onde obter Esse evento geralmente é encontrado nos logs do SAP Business Workflow como uma etapa de rejeição. Ele também pode ser inferido a partir de alterações específicas de status ou de observações adicionadas ao documento da fatura. Captura Registro de data e hora da etapa de rejeição nos logs do Workflow ou de uma alteração de status do documento indicando rejeição. Tipo de evento inferred | |||
| Fatura vencida | Um evento calculado que ocorre quando a data atual ultrapassa a data líquida de vencimento da fatura e ela ainda não foi paga. A data de vencimento é determinada pelas condições de pagamento e pela data-base. | ||
| Por que isso importa Essa atividade é essencial para monitorar o KPI de taxa de pagamentos pontuais. Ela sinaliza proativamente as faturas com risco de atraso, o que pode prejudicar o relacionamento com os fornecedores e gerar penalidades. Onde obter Esse evento é calculado comparando a data atual com a data líquida de vencimento. A data de vencimento é derivada da data-base (BSEG-ZFBDT) e das condições de pagamento (BSEG-ZTERM). Captura O evento é acionado quando Tipo de evento calculated | |||
Guias de extração
Etapas
- Crie o programa ABAP: Use a transação
SE38ouSE80para criar um novo programa executável, por exemplo,Z_PM_INVOICE_EXTRACT. Informe um título adequado e defina o tipo como 'Programa executável'. - Defina a tela de seleção: No programa, defina uma tela de seleção para permitir que os usuários filtrem os dados. Os principais parâmetros devem incluir Código da empresa (
BUKRS), Exercício fiscal (GJAHR), Intervalo de datas de lançamento (BUDAT) e um parâmetro para o caminho do arquivo de saída no servidor de aplicativos. - Declare as estruturas de dados: Defina uma estrutura de tabela interna que armazenará o Event Log final. Essa estrutura deve incluir todos os atributos obrigatórios e recomendados:
InvoiceNumber,Atividade,EventTime,UserName,VendorNumber,PurchaseOrderNumber,InvoiceAmount,PostingDate,PaymentDueDate,PaymentBlockReasoneClearingDate. - Implemente a lógica de seleção de dados: Escreva a lógica ABAP principal para selecionar os dados das faturas. A abordagem envolve várias seleções, que são combinadas na tabela interna final do Event Log.
- Primeiro, selecione os dados de cabeçalho e itens das tabelas principais de faturas
BKPF,BSEG,RBKPeRSEGcom base nos critérios da tela de seleção. - Para cada fatura, gere os eventos básicos, como 'Dados da fatura capturados' (a partir do horário de criação) e 'Fatura lançada' (a partir do horário do lançamento).
- Consulte as tabelas de documentos de alteração
CDHDReCDPOSpara encontrar alterações relacionadas a bloqueios de pagamento (campoZLSPRemBSEG). Para cada alteração relevante, crie os eventos 'Bloqueio de pagamento definido' e 'Bloqueio de pagamento liberado'. - Identifique os eventos 'Fatura compensada' verificando a existência de um documento de compensação (
AUGBL) e de uma data de compensação (AUGDT) na tabelaBSEG. - Identifique os eventos 'Fatura estornada' verificando a existência de um documento de estorno (
STBLG) no cabeçalhoBKPF. - Implemente uma lógica personalizada para capturar eventos do fluxo de trabalho ('Fatura enviada para aprovação', 'Aprovada', 'Rejeitada'). Essa parte depende muito de cada cliente e exige a adaptação do código às tabelas ou aos campos de status do seu fluxo de trabalho.
- Primeiro, selecione os dados de cabeçalho e itens das tabelas principais de faturas
- Gere eventos calculados: Na lógica do programa, calcule o evento
Invoice Becomes Overdue. Ele é derivado da comparação entre a data de vencimento do pagamento da fatura (PaymentDueDate) e a data atual para todas as faturas não pagas. Se a data de vencimento já tiver passado, crie um evento comEventTimedefinido como a data de vencimento. - Preencha a tabela do Event Log: À medida que você coleta os dados de cada fatura nas diferentes fontes, formate-os e anexe novas linhas à tabela interna final do Event Log, uma linha por atividade.
- Exporte os dados para um arquivo: Use as instruções
OPEN DATASET,TRANSFEReCLOSE DATASETpara gravar o conteúdo da tabela interna final em um arquivo simples no caminho do servidor de aplicativos SAP especificado na tela de seleção. Use um separador consistente, como ponto e vírgula ou tabulação, para criar um arquivo CSV. - Agende a extração: Para realizar extrações regulares, crie uma variante do programa com os critérios de seleção desejados e agende sua execução como um job em segundo plano usando a transação
SM36. - Recupere o arquivo de saída: Acesse o diretório do servidor de aplicativos SAP usando a transação
AL11para localizar o arquivo gerado. Use a transaçãoCG3Ypara baixar o arquivo do servidor de aplicativos para sua máquina local. - Prepare o upload: Antes de carregar o arquivo em uma ferramenta de Process Mining, abra o CSV para verificar se os cabeçalhos estão corretos, se o formato dos dados está consistente, especialmente para os horários, e se o separador está conforme o esperado. Salve o arquivo com codificação UTF-8.
Configuração
- Critérios de seleção: o relatório ABAP deve incluir uma tela de seleção abrangente. Os filtros mais importantes são:
Código da empresa (BUKRS): para limitar a extração a entidades legais específicas.Data de lançamento (BUDAT): para definir o período da extração. Recomenda-se extrair os dados em blocos gerenciáveis, por exemplo, de 3 a 6 meses por vez.Tipo de documento (BLART): para incluir apenas os tipos de documento de fatura relevantes, como 'RE' para faturas logísticas e 'KR' para faturas de fornecedores.
- Caminho do arquivo de saída: um parâmetro obrigatório para especificar o caminho completo e o nome do arquivo no servidor de aplicação SAP onde o arquivo de saída será criado. O usuário que executar o relatório precisa ter autorização de gravação nesse diretório.
- Considerações de performance: para grandes volumes de dados, o relatório deve ser executado como um job em segundo plano fora do horário de pico, evitando a degradação da performance do sistema. Sempre que possível, a lógica deve selecionar apenas os campos necessários das tabelas e utilizar os índices padrão do banco de dados SAP.
- Pré-requisitos e autorizações: o usuário ou a conta de serviço que executar esta extração precisa de:
- Permissões para executar relatórios ABAP, como parte de
S_PROGRAM. - Acesso de leitura às tabelas financeiras e logísticas, incluindo
BKPF,BSEG,RBKP,RSEG,CDHDReCDPOS. - Autorização para gravar arquivos no diretório especificado do servidor de aplicação (
S_DATASET). - Acesso às transações
SE38,SM36,AL11eCG3Ypara desenvolvimento, agendamento e recuperação de arquivos.
- Permissões para executar relatórios ABAP, como parte de
a Consulta de exemplo abap
REPORT Z_PM_INVOICE_EXTRACT.
*&---------------------------------------------------------------------*
*& Tables for Selection Screen
*&---------------------------------------------------------------------*
TABLES: BKPF, RBKP.
*&---------------------------------------------------------------------*
*& Data Declarations
*&---------------------------------------------------------------------*
TYPES: BEGIN OF ty_event_log,
InvoiceNumber TYPE belnr_v,
Activity TYPE string,
EventTime TYPE timestamp,
UserName TYPE uname,
VendorNumber TYPE lifnr,
PurchaseOrderNumber TYPE ebeln,
InvoiceAmount TYPE wrbtr,
PostingDate TYPE budat,
PaymentDueDate TYPE faedt,
PaymentBlockReason TYPE rstgr,
ClearingDate TYPE augdt,
END OF ty_event_log.
DATA: gt_event_log TYPE TABLE OF ty_event_log,
gs_event_log TYPE ty_event_log.
DATA: lt_bkpf TYPE TABLE OF bkpf,
ls_bkpf TYPE bkpf,
lt_bseg TYPE TABLE OF bseg,
ls_bseg TYPE bseg.
DATA: lt_rbkp TYPE TABLE OF rbkp,
ls_rbkp TYPE rbkp.
*&---------------------------------------------------------------------*
*& Selection Screen
*&---------------------------------------------------------------------*
SELECT-OPTIONS: s_bukrs FOR bkpf-bukrs OBLIGATORY,
s_gjahr FOR bkpf-gjahr OBLIGATORY,
s_budat FOR bkpf-budat.
PARAMETERS: p_fpath TYPE string OBLIGATORY DEFAULT '/usr/sap/tmp/invoice_events.csv'.
*&---------------------------------------------------------------------*
*& Start of Program Logic
*&---------------------------------------------------------------------*
START-OF-SELECTION.
" Select FI Invoices (e.g., Doc Type KR)
SELECT * FROM bkpf INTO TABLE lt_bkpf
WHERE bukrs IN s_bukrs
AND gjahr IN s_gjahr
AND budat IN s_budat
AND blart = 'KR'.
" Select MM Invoices
SELECT * FROM rbkp INTO TABLE lt_rbkp
WHERE bukrs IN s_bukrs
AND gjahr IN s_gjahr
AND budat IN s_budat.
* --- Process FI Invoices ---
LOOP AT lt_bkpf INTO ls_bkpf.
CLEAR gs_event_log.
gs_event_log-InvoiceNumber = ls_bkpf-belnr.
gs_event_log-PostingDate = ls_bkpf-budat.
SELECT SINGLE * FROM bseg INTO ls_bseg
WHERE bukrs = ls_bkpf-bukrs
AND belnr = ls_bkpf-belnr
AND gjahr = ls_bkpf-gjahr
AND koart = 'K'. " Vendor Line Item
IF sy-subrc = 0.
gs_event_log-VendorNumber = ls_bseg-lifnr.
gs_event_log-InvoiceAmount = ls_bseg-wrbtr.
gs_event_log-ClearingDate = ls_bseg-augdt.
" Calculate Due Date
CALL FUNCTION 'DETERMINE_DUE_DATE'
EXPORTING
i_bseg = ls_bseg
IMPORTING
e_faedt = gs_event_log-PaymentDueDate.
ENDIF.
" Activity: Invoice Data Captured
gs_event_log-Activity = 'Invoice Data Captured'.
CONVERT DATE ls_bkpf-cpudt TIME ls_bkpf-cputm INTO TIME STAMP gs_event_log-EventTime TIME ZONE sy-zonlo.
gs_event_log-UserName = ls_bkpf-usnam.
APPEND gs_event_log TO gt_event_log.
" Activity: Invoice Parked (if BSTAT = 'V')
IF ls_bkpf-bstat = 'V'.
gs_event_log-Activity = 'Invoice Parked'.
APPEND gs_event_log TO gt_event_log.
ENDIF.
" Activity: Invoice Posted
gs_event_log-Activity = 'Invoice Posted'.
CONVERT DATE ls_bkpf-budat TIME ls_bkpf-cputm INTO TIME STAMP gs_event_log-EventTime TIME ZONE sy-zonlo.
gs_event_log-UserName = ls_bkpf-usnam.
APPEND gs_event_log TO gt_event_log.
" Activity: Invoice Cleared
IF ls_bseg-augbl IS NOT INITIAL.
gs_event_log-Activity = 'Invoice Cleared'.
CONVERT DATE ls_bseg-augdt INTO TIME STAMP gs_event_log-EventTime TIME ZONE sy-zonlo.
gs_event_log-UserName = ls_bseg-usnam_cl.
APPEND gs_event_log TO gt_event_log.
ENDIF.
" Activity: Invoice Becomes Overdue
IF gs_event_log-PaymentDueDate IS NOT INITIAL AND gs_event_log-PaymentDueDate < sy-datum AND ls_bseg-augbl IS INITIAL.
gs_event_log-Activity = 'Invoice Becomes Overdue'.
CONVERT DATE gs_event_log-PaymentDueDate INTO TIME STAMP gs_event_log-EventTime TIME ZONE sy-zonlo.
gs_event_log-UserName = 'SYSTEM'.
APPEND gs_event_log TO gt_event_log.
ENDIF.
" Activity: Invoice Reversed
IF ls_bkpf-stblg IS NOT INITIAL.
DATA: ls_rev_bkpf TYPE bkpf.
SELECT SINGLE budat, usnam FROM bkpf INTO ls_rev_bkpf
WHERE belnr = ls_bkpf-stblg AND bukrs = ls_bkpf-bukrs AND gjahr = ls_bkpf-gjahr.
IF sy-subrc = 0.
gs_event_log-Activity = 'Invoice Reversed'.
CONVERT DATE ls_rev_bkpf-budat INTO TIME STAMP gs_event_log-EventTime TIME ZONE sy-zonlo.
gs_event_log-UserName = ls_rev_bkpf-usnam.
APPEND gs_event_log TO gt_event_log.
ENDIF.
ENDIF.
ENDLOOP.
* --- NOTE: The logic for MM invoices (from lt_rbkp) would be similar, joining RBKP with RSEG.
* --- NOTE: The logic for Payment Blocks and Workflow events requires reading change documents (CDHDR/CDPOS)
* --- or custom workflow tables. Below is a conceptual example for payment blocks.
* --- Conceptual Example for 'Payment Block Set' / 'Released' using Change Docs
* DATA: lt_cdhdr TYPE TABLE OF cdhdr, ls_cdhdr TYPE cdhdr,
* lt_cdpos TYPE TABLE OF cdpos, ls_cdpos TYPE cdpos.
* SELECT * FROM cdhdr INTO TABLE lt_cdhdr
* WHERE objectclas = 'BELEG' AND objectid IN (SELECT belnr FROM bkpf WHERE ...).
* LOOP AT lt_cdhdr.
* SELECT * FROM cdpos INTO TABLE lt_cdpos
* WHERE changenr = ls_cdhdr-changenr AND tabname = 'BSEG' AND fname = 'ZLSPR'.
* LOOP AT lt_cdpos.
* "... logic to create 'Payment Block Set' (if VALUE_NEW is not blank)
* "... or 'Payment Block Released' (if VALUE_NEW is blank) events.
* ENDLOOP.
* ENDLOOP.
* --- Conceptual Example for Workflow events ('Sent For Approval', 'Approved', 'Rejected')
* --- This part MUST be customized based on your specific workflow implementation (e.g., OpenText VIM, SAP WF).
* --- You would query the relevant workflow tables or status change tables here.
*&---------------------------------------------------------------------*
*& Write to File
*&---------------------------------------------------------------------*
END-OF-SELECTION.
DATA: lv_string TYPE string,
lv_header TYPE string.
" Create Header
lv_header = 'InvoiceNumber;Activity;EventTime;UserName;VendorNumber;PurchaseOrderNumber;InvoiceAmount;PostingDate;PaymentDueDate;PaymentBlockReason;ClearingDate'.
OPEN DATASET p_fpath FOR OUTPUT IN TEXT MODE ENCODING UTF-8.
IF sy-subrc = 0.
TRANSFER lv_header TO p_fpath.
LOOP AT gt_event_log INTO gs_event_log.
CONCATENATE gs_event_log-InvoiceNumber
gs_event_log-Activity
gs_event_log-EventTime
gs_event_log-UserName
gs_event_log-VendorNumber
gs_event_log-PurchaseOrderNumber
gs_event_log-InvoiceAmount
gs_event_log-PostingDate
gs_event_log-PaymentDueDate
gs_event_log-PaymentBlockReason
gs_event_log-ClearingDate
INTO lv_string SEPARATED BY ';'.
TRANSFER lv_string TO p_fpath.
ENDLOOP.
CLOSE DATASET p_fpath.
ELSE.
MESSAGE 'Error opening file.' TYPE 'E'.
ENDIF. Pronto para começar?
Seguindo este Template, você poderá descobrir insights valiosos e promover melhorias significativas no seu processo de Purchase to Pay - Processamento de faturas. Comece a extrair seus dados hoje e transforme suas operações.
Otimize hoje seu processamento de faturas de Purchase to Pay
Identifique ineficiências e reduza em 30% o tempo do ciclo de faturas.
Não é necessário cartão de crédito. Configuração em poucos minutos.