Overview
Invoices are a critical component of the financial management system, allowing for the billing of services rendered through cases. This document outlines the process for creating, modifying, and managing invoices, including the locking mechanisms that ensure invoice integrity.
Invoices are generated from cases. Each case can have 0 or more Line Items added to it, which represent the products or services provided. Each of the line items will have its own quantity, rate, discount, and tax amount. When you invoice a case, Pilot will sum up all the line items' financial information to create the invoice. The case's customer determines the billing account that will receive the invoice.
Each invoice has a balance, which represents the total unpaid amount. The balance is calculated as the total amount of the invoice minus any Payments and/or Credits applied to it. The invoice is paid off when the balance reaches zero.
Warning
Invoices are generated exclusively through the case invoicing process. You cannot create standalone invoices - they must be associated with a case. The only two exceptions are:
Invoices synced into Pilot from your accounting system. For example, if you are using a payment processor that connects directly to your accounting system, such as QuickBooks or Xero, you may need to sync payment processing fee invoices back into Pilot.
Payment processing fee invoices. If you have Stripe integration configured, you can set a payment processing fee for each payment made through the customer portal user. This will create an invoice with the payment processing fee amount.
As a corollary, updating financial properties of the invoice is impossible: you must un-invoice the case, make necessary changes to the line items, and re-invoice the case. Un-invoicing a case means deleting the invoice associated with that case and changing the case's status to Live.
The only invoice properties you can update are:
Invoiced Date: this is useful if you want to backdate the invoice for whatever reason
Memo: this is the Billing Notes on the Case.
Creating an Invoice
When you invoice a case, the system automatically performs the following calculations:
Subtotal: Calculated as sum of (quantity × rate - discount) for each product on the case
Tax Amount: Calculated as subtotal × customer's tax area rate (referenced from the office associated with the customer)
Total Amount: The sum of subtotal and tax amount
Additional Invoice Details
Memo Field: Populated with any billing notes from the case
Due Date: Automatically calculated based on the payment terms configured for the customer's billing account
Invoice Date: Set to the current date when the invoice is created. You can change it to the date you want as long as the new date does not fall on a closed billing cycle. If you try to backdate an invoice to a closed billing cycle, the system will prevent you from doing so.
Invoice Finalization/Closing System
Pilot provides the ability to finalize invoices, which puts cases into the Closed status.
Some laboratories may have the invoices be subject to later audits and changes. To delineate between fully finished cases ("I am not going to look at this case again") and cases that are subject to reviews ("I may need to adjust this invoice via some separate administrative process, potentially at a later date and by a different person"), Pilot introduced the concept of "Closing" the case.
When a case is Closed, you're signifying that it's finalized and that you will not need to come back to it again. (You still can Re-Open the case while the invoice is not in any statements.)
Important Note
Only finalized invoices (i.e., closed cases) will appear on statements.
Closing the case introduces an additional action that users have to perform to fully close a case. To avoid this additional friction, Pilot also introduced an automatic finalization setting, which closes the case automatically based on the specified option. There are four options available:
Manual. With this option, you are responsible to closing each case manually.
Automatic – on Statement Creation. With this option, invoices are finalized during statement creation.
Automatic – at End of Billing Cycle. With this option, invoices are finalized when a current billing cycle ends
Immediate – on Invoice Creation. This option makes the cases Closed immediately after they're invoiced.
Updating Invoice Information
Invoices cannot be directly edited once created. To make changes to an invoice, you must follow this three-step process:
Un-invoice the case to remove the current invoice
Update the case with the necessary changes (products, quantities, rates, etc.)
Re-invoice the case to generate a new invoice with the updated information
This process is not possible in the following situations:
The invoice is already paid/partially paid using payments/credits
The invoice is already a part of a statement.
Working with Invoice Editing Restrictions
Backdating an Invoice when Statement is Already Generated
Situation: You need to backdate an invoice, but the target billing cycle already has a generated statement.
Solution:
Delete the existing statement for that billing cycle
Create or modify your invoice as needed
Re-generate the statement to include the updated invoice information
Editing an Invoice dated 2+ Billing Cycles in the Past
Situation: You need to edit an invoice that is already in a statement that is dated two or more billing cycles in the past.
Solution:
Pilot only allows deleting statements from a previous billing cycle. Statements beyond previous billing cycles cannot be deleted.
In this case:
If you're adjusting the invoice's financial information down (reducing the totals), you can issue a Credit and apply it to this invoice
Adjusting the invoice's totals up (increasing the totals) is currently not a supported functionality.
Warning
Deleting and regenerating statements should be done carefully, as it may affect already-distributed billing documents and customer payment schedules.
