action.skip

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

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
Test steps
  1. Trigger the subscription creation as configured (button, scheduled job, flow).
  2. 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
  1. Execute an invoice run (manually or automatically).
  2. 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
Test steps
  1. Execute an invoice run (manually or automatically).
  2. 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
  1. Create and finalize an invoice.
  2. Cancel the finalized invoice.
  3. Finalize the cancellation invoice.
Expected results

Canceling an invoice creates a new draft invoice of the class Credit and the type Cancelation.

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

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
  1. Create and finalize an invoice with multiple invoice line items.
  2. Create a partial credit for the invoice, selecting a subset of the included invoice line items.
  3. 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

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
  1. Create and finalize an invoice, applying an invoice date that makes it immediately overdue.
  2. Execute a dunning run or individually create a dunning reminder for the relevant invoice.
  3. 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

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
Test steps
  1. Import the CSV payment data.
  2. Execute the matching procedure.
  3. 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
Test steps
  1. Create and finalize an invoice
  2. 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.