Processo de facturação Oracle BRM

Serviços Oracle BRM

Partilhar

02/06/2010

Índice

Primeiro, vamos dar uma vista de olhos a um quadro geral do que o Oracle BRM facturação processo:

  1. Compila o valor total dos impactos no saldo que ocorreram no mês passado. Isto pode incluir taxas de utilização e taxas de subscrição.
  2. Altera o status de todos os itens de fatura associados à fatura de pendentes para abertos, de modo que eles parem de acumular cobranças e os pagamentos possam ser aplicados a eles. Além disso, uma data de vencimento do pagamento é adicionada à conta.
  3. Solicita automaticamente pagamentos a um processador de cartões de crédito ou solicita pagamentos através do envio de facturas.
  4. Actualiza automaticamente o saldo da conta de um cliente quando um pagamento é registado na base de dados BRM.
Figura 1: Processo de faturação do Oracle BRM

Então, como é que tudo isto é feito na prática?

Antes de executar uma faturação brm em produção, é necessário que sejam executados todos os passos pré-requisitos. O primeiro passo é preparar uma cópia do ambiente de produção - pode ser um ambiente de pré-produção ou um ambiente de teste. Este passo inclui a instalação da última versão de produção neste ambiente e a cópia da base de dados de produção. Em seguida, as configurações do ambiente têm de refletir as da produção. Aqui estão as principais configurações, que devem ser definidas adequadamente:

-• cm configuração ($HOME/pin/sys/cm/pin.conf),

o Verifique se a entrada loglevel está definida para 1

o Altere a entrada do parâmetro agent_return para 0

o Altere a entrada do parâmetro simulate_agent para 1

Estas duas últimas alterações são efectuadas de modo a não implicar qualquer ação de aprovisionamento durante a faturação.

-• dm_oracle ($HOME/pin/sys/dm_oracle/pin.conf),

o Defina o parâmetro dm_bigsize para 8388608 ou superior

o Defina o parâmetro dm_shmsize para 33554432 ou superior

o Defina dm_n_fe para 8

o Defina dm_max_per_fe para 16

o Defina dm_n_be para 24

o Defina dm_trans_be_max para 22

-• pin_bill_accts ($HOME/pin/apps/pin_billd/pin.conf),

o Verifique o nível de registo. Altere-o para o valor apropriado, dependendo do que precisa de ser verificado durante o teste de faturação, 1 ou 3.

o Altere o parâmetro de crianças para pin_billd e pin_mta para 5

o Altere o parâmetro per_batch para pin_billd e pin_mta para 20000

o Altere o parâmetro fetch_size para pin_billd e pin_mta para 150000

-• pin_inv_accts ($HOME/pin/apps/pin_inv/pin.conf),

o Verifique o nível de registo. Altere-o para o valor apropriado, dependendo do que precisa de ser verificado durante o teste de faturação, 1 ou 3.

o Altere o parâmetro de crianças para pin_billd e pin_mta para 5

o Altere o parâmetro per_batch para pin_billd e pin_mta para 2000

o Altere o parâmetro fetch_size para pin_billd e pin_mta para 15000

Para obter a melhor simulação possível da produção, o pin_virtual_time da faturação tem de ser definido para a data em que a faturação real na produção será executada. Uma vez feito isso, a execução da fatura pode ser iniciada.

Executamos a faturação mensalmente com o script pin_bill_day que cria cerca de 100.000 facturas por hora. O script cria facturas para contas em que a data de faturação é qualquer dia antes da meia-noite do dia em que executamos a faturação. Então, o que é que o script pin_billd_day faz realmente? Executa os seguintes utilitários de faturação:

  • pin_deferred_act: Executa acções diferidas; por exemplo, se uma conta se tornar inativa, este utilitário efectua a alteração do estado na data prevista.
  • pin_bill_accts: Calcula o saldo devedor das contas e cria uma fatura para o saldo devedor.
  • pin_collect: Recolhe o saldo devido para contas que utilizam cartões de crédito e métodos de pagamento de débito direto.
  • pin_refund: Encontra contas que têm itens de reembolso e efectua transacções de reembolso online.
  • pin_inv_accts: Cria uma fatura para cada conta que é facturada.
  • pin_cycle_fees: Aplica o impacto do saldo da taxa do ciclo avançado à conta do cliente e cancela os produtos que têm uma data de cancelamento pendente expirada.

Para verificar o progresso e o desempenho do script pin_bill_day, executamos consultas na base de dados para obter informações sobre quantas facturas estão feitas, quantas ainda estão por fazer, se há facturas com erros, etc.

Depois de terminada a parte de faturação do brm e de todas as facturas terem sido criadas, começa a faturação. Após a criação das facturas, estas são exportadas para documentos XML, que são depois convertidos para o formato PDF.

Para além das consultas mencionadas anteriormente, existem também outras consultas que têm de ser executadas quando a faturação e a cobrança estiverem concluídas, de modo a verificar a exatidão dos dados gerados por este processo. Executamos um lote de consultas; aqui estão algumas delas:

-• A faturação falhou?

seleccione * from billinfo_t where billing_state = 4 and bill_info_id'Bill Unit(1)';

-Resultados esperados: Não foram encontradas linhas

-• Existem contas não facturadas?

seleccione poid_id0, first_name,last_name,a.status from account_t a, account_nameinfo_t an where

a.poid_id0=an.obj_id0 e

created_t< e

not exists (select b.account_obj_id0 from bill_t b

em que end_t= e

b.account_obj_id0=a.poid_id0);

-Resultados esperados: Não foram encontradas linhas

-• Há alguma fatura sem número de fatura?

seleccione * from bill_t where end_t= and bill_no is null;

- Esperado: Nenhuma linha encontrada

Quaisquer problemas encontrados são então investigados e corrigidos através do sistema de controlo de versões, onde as correcções são posteriormente incluídas na versão seguinte.

Imagem de Aleš
Aleš
Ales Pristovnik é o CEO da Tridens Technology, uma empresa eslovena especializada no desenvolvimento de soluções de software para a indústria automóvel. Ele tem uma longa história na indústria de TI, tendo trabalhado para várias grandes empresas no passado. Ele tem uma paixão pela tecnologia e inovação, e o seu foco actual é o desenvolvimento de soluções que irão melhorar a segurança e eficiência da indústria automóvel. Ele tem um forte background em liderança e gestão, e está empenhado em impulsionar a sua empresa no sector da tecnologia em constante evolução.

Obter notícias na sua caixa de correio!


    5 1 vote
    Article Rating
    Subscreva
    Notificação de
    convidado

    27 Comentários
    Mais antigo
    Novidades Mais Votados
    Feedbacks em linha
    Ver todos os comentários