Balance Forward Billing
Balance Forward Billing
Balance Forward Billing
Applies to:
Oracle Receivables - Version: 12.0.0 and later [Release: 12.0 and later ]
Information in this document applies to any platform.
Abstract
This white paper provides an overview of the Balance Forward Billing feature in Oracle
Receivables Release 12. It discusses required set-up, provides sample screenshots,
debugging tips, code walk-through as well as other pertinent information related to the
feature.
1. Overview
Balance Forward Billing (BFB) is a new feature introduced in Release 12. It replaces the
functionality provided by Consolidated Billing Invoices (CBI) in Release 11i.
Balance Forward Billing is enabled when defining a customer. Once a customer record is
Balance Forward Billing enabled, you can print a single document, referred to as a
Balance Forward Bill which includes all of a customer's transactions and payments
created within the billing period as well as any balance carried forward from the
previous billing period. This allows you to send one consolidated document to the
customer instead of individual invoices per transaction.
Depending on how Balance Forward Billing is set-up, you can consolidate into one bill all
transactions and payments of a customer across multiple sites, or you can consolidate
per site.
It provides :
2. Features
1. Balance Forward Billing can be set-up at either the Customer Account or Site
level.
2. The format of the bill can be Detailed or Summarized.
3. Set-up
You can define a cycle with a Frequency of Monthly, Weekly or Daily. You also specify
how frequently the cycle should repeat.
The cycle below, bills on the 18th of every month. In this set-up, cycle dates will be
created for 18-JAN-2008, 18-FEB-2008, 18-MAR-2008 and so on.
The cycle date is later reflected in the Transaction workbench as Billing date.
Note:
Users can only create cycles with RECURRING type, and Oracle seeds one EVENT type
named EXTERNAL. The EXTERNAL cycle can be used for imported transactions via
AutoInvoice, see section below on Balance Forward Billing in AutoInvoice.
This following payment term uses the BFB MTH cycle we defined earlier. The Due days
indicates the number of days after the Billing Date the invoice becomes due. In this set-
up, transactions that use this term will be billed on the 18th and will be due on the 28th.
In the following set-up, transactions that use this term will be billed every Monday and
will be due 5 days after that.
Setting up a customer profile class is an optional step for Balance Forward billing set-up.
Having a customer profile class simplifies the set-up of Balance Forward Billing enabled
customers, as the values for fields pertaining to Balance Forward Billing are used to
default the values into the customer record. You can override values defaulted in from
the profile class.
When defining a customer profile class for Balance Forward Billing, you should check
the Enable checkbox. Once enabled, the fields for Bill Level and Type are enabled
and only Balance Forward Payment terms will be available in the list of values.
The set-up below is for a customer profile using Bill level = Account, wherein
consolidation is done at the account level, all activity from Balance Forward Enabled
sites are reported in one bill
When Balance forward Billing is enabled at the Site level, the result would be the
creation of several bills. Each BFB-enabled site will get its own bill. Each bill will
consolidate the activities for that site. In the scenario above, there are four sites. Three
of the sites are BFB-enabled. The fourth site is not. Note that for each BFB-enabled site,
the settings defined at the site level will be used to create its bill. All transactions for the
fourth site will be excluded from the bill and instead each transaction will print an
invoice.
When creating a BFB Customer, you have the option to use a BFB Profile class, such as
the ones created earlier, or you can use any profile class and just override the fields
highlighted under Balance Forward Billing and Terms.
To demonstrate the scenario described in the overview for Bill Level = ACCOUNT, we
will define 4 sites for this customer :
Below, we used the customer profile class : BFB SITE LEVEL PROFILE, from which BFB-related fields
ave defaulted from. Note the checkbox Override Terms. By checking this box, you are saying that
when a user creates an invoice for this customer, he is allowed to change the Payment Term that
efaults in. This feature allows you to create non-balance forward transactions within a BFB-enabled
ite.
To demonstrate the scenario described in the overview for Bill Level = SITE, we will
define 4 sites for this customer :
IMPORTANT NOTES:
If you do not explicitly setup a SITE level profile, you will encounter the
error below when you attempt to create a transaction:
Balance forward billing is enabled for this customer at the account level,
but is either disabled or not defined at site level.
To lift this restriction, changes were made that allowed non-Balance Forward Billing
Enabled customers to use Balance Forward Billing terms with cutoff dates. This restores
the functionality that was available in Release 11.5. To use these features, you need to
apply the following patches:
Additional information on using cutoff terms can be reviewed in Note 1052906.1, How to
implement payment terms with cutoff days in R12
For BFB CUST 1 (Account Level) : To demonstrate the differences in behavior due to the
settings defined at the Site level, several invoices are created across each of the sites.
For SITE 1 : BFB, 2 invoices are created, to demonstrate that the Payment Term can be
overwritten due to Override Terms being checked.
For Invoice 12294 below, the Billing date is calculated using the set-up of the BFB
Cycle : BFB MTH, which we set up as the 18th of the month. The billing date has to be
on or after the Transaction Date and is calculated as 18-MAY-08. The Due date is
calculated using the set-up of the BFB Payment Term : BFB MTH which we set up to be
due in 10 days. The Due date is determined to be 28-MAY-08, which is 10 days after the
billing date.
For the Invoice 12295 below, we demonstrate that even though BFB is enabled for SITE
1 : BFB, a user is allowed to create a non-BFB invoice by changing the payment term to
a non-BFB term. This is allowed because Override Terms is checked in the Site Profile.
For Site 4 : NON-BFB, note that the field Billing date is not even displayed, the field
Billing Date is present only for BFB transactions.
After creating the above, we are ready to run a simulated test of Generating the
Balance Forward Bill.
• BPA Balance Forward Print Program - enables you to reprint any Balance Forward
Bill
• Confirm Balance Forward Bill - enables you to confirm or reject Draft Bills
• Generate Balance Forward Bills - enables you to generate new bills
Note that the Billing date is not a mandatory field. If you do not specify a billing date,
the code will pick the latest value of the Billing date for the cycle that is on or before the
system date. In this example, if I ran the process on 14-JAN-09 and did not provide a
billing date parameter value, the code would have run the process with a billing date of
18-DEC-08. This is expected behavior for BFB. It will not print bills for each of the cycles
dates defined that you have not yet printed, but rather it will fast forward to the latest
value possible.
This process will spawn 3 requests : first to collect and process the data for the BFB,
second to kick off Bill Presentment Architecture (BPA) Print process and third to actually
create the output.
Following is the output for BFB CUST 1, invoices across the three BFB-enabled sites are
included. It shows Previous Balance = 0.00 because this is the first run for this billing
cycle. The three invoices qualified for inclusion into the Bill are those that used BFB
Terms. Note that even if the invoice for Site 3 : BFB was using the term BFB WEEKLY, it
Following is one of the outputs for BFB CUST 2, when submitted for BFB WEEKLY, each
site using BFB WEEKLY payment term gets its own bill :
• AR_CONS_INV_ALL : a row is created for every BFB site included in the bill. Each
site will have its own CONS_INV_ID. When Bill level = Account,
several CONS_INV_ID values can have the same CONS_BILLING_NUMBER value.
• AR_CONS_INV_TRX_ALL : a row is created for every transaction, adjustment,
receipt pulled into the bill
• AR_CONS_INV_TRX_LINES_ALL : a row is created for every invoice line pulled into
the bill
Since we generated the bill in Draft mode, we need to submit another process shown
below to accept it.
Important : When invoking the Confirm Balance Forward Bill to Accept or Reject Draft
bills, note that the only parameter marked as mandatory is the Confirm Option
parameter. However, the following fields have a requirement dependency upon each
other :
Please monitor ER bug 8520340 which is a request to have the concurrent process end
in warning, instead of normal, so users are alerted to a "problem" encountered during
the Accept/Reject process.
If you choose to reject the bill, the invoices included in the bill are released, and they
can be picked up by a subsequent run of Balance Forward Billing. However, any invoice
whose BFB data was overridden by the Generate Bill process will retain the new BFB
data, it will not restore the original values.
The following output illustrates the next Bill created for the BFB MTH cycle. It shows
that prior to the next billing date of 18-JUN-08, a new invoice was created and an
adjustment and a receipt were created against 2 of the invoices included in the bill.
• EVENT, then you are required to pass in a Billing date. A Billing cycle with type
EVENT is considered an EXTERNAL cycle, whereby the Balance Forward Bill was
generated outside of Oracle Receivables.
Note 804334.1, Autoinvoice Error: AutoInvoice Validation Report Shows an Error
with Blank Text, discusses an issue addressed in AutoInvoice wherein a blank
error was raised for the case where the Billing Type = EVENT.
• RECURRING, then you should not pass in a value and AutoInvoice handles
deriving the billing_date for you.
TERM_ID or If you pass a payment term that is associated to a RECURRING Billing Cycle, then it is
TERM_NAME like you are simulating a manually entered transaction. AutoInvoice will take care of
determining the Due Date for the transaction, based upon the Billing Date derived from
the billing cycle information.
Please note that validation of this field against a balance forward billing enabled
customer changed after Release 12 was originally released. Refer to Note Box in setup
step: Define Balance Forward Billing Enabled Customer for additional information for
additional information.
RA_INTERFACE_LINES_ALL are related to the Balance Forward Billing feature: