Best Practice: Testing Your JustOn Project
You have set up your Salesforce org to use JustOn Billing & Invoice Management and modeled your billing and invoicing scenario. Before going live, you will want to test your solution.
This article summarizes a number of test scenarios, outlining the steps to take and the expected results. You may not need all tests listed here, and you may need additional ones to match your specific business use cases – but these tests cover some common, frequently used features.
Info
The following test cases assume that you have configured
- a business entity,
- your tax rules, and
- the minimum required templates and template details (including counters).
Testing Subscription Creation/Update
If you bill recurring items, usage data, etc. on a contractual, regular basis, you will most probably create subscriptions and, consequently, produce invoices based on them.
- Preconditions
-
- Configured automatic subscription build according to your needs, see
Contract-Based Recurring Billing
Automatically Building Subscriptions
Enabling Subscription and Subscription Items Update
Best Practice: Sales-Driven Subscription Build
- Configured automatic subscription build according to your needs, see
- Test steps
-
- Trigger the subscription creation as configured (button, scheduled job, flow).
- Modify a source value after the subscription has been built.
- Expected results
-
The produced subscription
- is linked to the account and to the business entity
- includes the items as expected
- has set start date and end date
After modifying a source value, the originally produced subscription or items must be updated to reflect the new source value.
Testing Invoice Creation From Subscriptions
Once you have built subscriptions, you produce invoices from them – preferably, using the invoice run.
- Preconditions
-
- Appropriately created subscription
- Appropriately configured invoice template
- Optionally, configured automatic invoice creation (see Scheduling Invoice Run)
- Test steps
-
- Execute an invoice run (manually or automatically).
- Finalize the produced invoices (see Finalization).
- Expected results
-
The produced invoice
- is linked to the account and to the business entity
- has set a unique invoice number and an invoice date
- includes the invoice line items based on the subscription items with the appropriate taxes applied
- cannot be modified after the finalization
The produced PDF file must include the relevant information to comply with the legal requirements and your corporate rules.
Testing Invoice Creation From Arbitrary Objects
If you sell one-time products, you can directly create invoices from arbitrary objects using the generic invoice run.
- Preconditions
-
- Configured source objects according to your needs (see One-Time Sales: Generic Invoice Run and Billing Arbitrary Objects)
- Appropriately configured invoice template
- Optionally, configured automatic invoice creation
- Test steps
-
- Execute an invoice run (manually or automatically).
- Finalize the produced invoices (see Finalization).
- Expected results
-
The produced invoice
- is linked to the account and to the business entity
- has set a unique invoice number and an invoice date
- includes the invoice line items based on the configured source objects with the appropriate taxes applied
- cannot be modified after the finalization
The produced PDF file must include the relevant information to comply with the legal requirements and your corporate rules.
Testing Invoice Cancellation
In case of formal invoice errors, you must cancel an invoice (see Cancellation).
- Preconditions
-
- Finalized invoice
- Appropriately configured template details for cancellations and credits
- Test steps
-
- Create and finalize an invoice.
- Cancel the finalized invoice.
- Finalize the cancellation invoice.
- Expected results
-
Canceling an invoice creates a new draft invoice of the class
Credit
and the typeCancelation
.Finalizing the cancellation invoice
- sets the original invoice to the status
Canceled
and links the original with the cancellation invoice - unlinks any registered payments from the canceled (original) invoice
- sets the cancellation invoice to the status
Settled
- creates clearing balances for the canceled (original) invoice and for the cancellation invoice
- "releases" source object records billed with the original invoice, making them subject to subsequent invoice runs again
- sets the original invoice to the status
Testing Credit Creation
To withdraw one or more individual invoice line items from an invoice, you issue a (partial) credit (see Partial Credit Handling).
- Preconditions
-
- Finalized invoice
- Appropriately configured template detail for credits
- Test steps
-
- Create and finalize an invoice with multiple invoice line items.
- Create a partial credit for the invoice, selecting a subset of the included invoice line items.
- Finalize the produced credit.
- Expected results
-
Creating a partial credit creates a new draft invoice of the class
Credit
and associates it with the original invoice.Finalizing the credit
- creates a clearing balance for the credit, setting it to the status
Settled
- creates a clearing balance for the partially credited (original) invoice, reducing its invoice balance – that is, the open payment amount
- creates a clearing balance for the credit, setting it to the status
Testing Dunning Procedure
To help tracking and claiming outstanding payments, you use dunning processes based on configurable dunning statements (see Dunnings).
- Preconditions
-
- Finalized, overdue invoice
- Basic (minimum required) dunning configuration, including dunning level and dunning reminder template detail (see Basic Dunning Configuration)
- Test steps
-
- Create and finalize an invoice, applying an invoice date that makes it immediately overdue.
- Execute a dunning run or individually create a dunning reminder for the relevant invoice.
- Finalize the produced dunning reminder.
- Expected results
-
The dunning run produces dunning statements (in the status
Draft
), which include statement details that represent the involved invoices.Finalizing dunning statements
- sets them to
Closed
- generates the PDF dunning reminders to be sent out
- adds the defined dunning fees to the account balance and the open invoice amount
- sets them to
Testing Payment Tracking
JustOn Billing & Invoice Management can register invoice-relevant payment transactions that have occurred in external systems as payment entries (see Payment Tracking and Best Practice: Tracking, Matching and Booking Payments). A common way to acquire payment entries is importing bank statements from CSV files produced by your bank.
- Preconditions
-
- Finalized invoice
- Appropriately configured payment CSV import
- Test steps
-
- Import the CSV payment data.
- Execute the matching procedure.
- Execute the assignment procedure.
- Expected results
- Matching and assigning payment entries creates balance records of the type
Payment
that are associated to the corresponding invoices.
Testing Booking Data Creation
For accounting purposes, you can have JustOn Billing & Invoice Management generate bookkeeping data for revenues and taxes from finalized invoices and payment data (see Bookkeeping Data for Invoices, Bookkeeping Data for Payment Balances and Best Practice: Generating Bookkeeping Data).
- Preconditions
-
- Finalized invoice and assigned payment balance
- Appropriately set up bookkeeping data creation for invoice data and payment data (see Bookkeeping Data for Finalized Invoices and Bookkeeping Data for Payment Balances)
- Appropriately configured G/L account and contra account settings
- Test steps
-
- Create and finalize an invoice
- Assign a payment entry, creating a payment balance (see Testing Payment Tracking).
- Expected results
-
Finalizing the produced invoice creates booking details, where
- usually, one booking detail represents one invoice line item,
- multiple invoice line items may be combined into one booking detail if specific data match (invoice ID, G/L account, tax rate).
Executing the payment bookkeeping data job creates booking details for (new or changed) payment balances (see Workflow).
The booking detail key data includes the booking date, account (the G/L account), business partner account (the contra account), type (
Revenue
,Tax
,Payment
), and amount.The produced booking details are allocated to a booking period, which represents one month in bookkeeping.