Services Billing Overview

PSA projects can be billable or non-billable. You bill for services using the Billing Event object, which is typically the equivalent of an invoice or credit note in your finance system. PSA is not an invoicing system.

In PSA, you identify eligible billing data from billable business records and generate billing events for those records. You can then send billing events to your finance system for invoicing using the release functionality. If PSA is integrated with your finance system your billing events are typically marked as invoiced automatically. Alternatively, you can manually mark billing events as invoiced after they have been released.

Eligibility of Business Records for Billing

You can bill for the following types of billable business record on each project:

  • One or more timecard splits are generated for each timecard that is submitted for approval. For more information, see Timecard Split Overview
  • The pre-bill amount is the only billable part of a budget.

There are specific conditions that must be met for a business record to be eligible for billing. For more information, see Before You Generate Billing Events.

When business records become eligible for billing:

  • Changes to transactions are recorded and actuals (financials) are updated. PSA tracks actuals for regions, practices, groups, resources, and projects.
  • The business record data is made available for inclusion in a billing event, and a billing queue record is created. The Billing Queue is a system-generated object that you do not need to access during the billing process. Ask your administrator for help if you think that there are problems with a billing queue.

Generating Billing Events

In PSA, the billing event generation process collects business records that are eligible for billing and translates them into billing event items, billing events and billing event batches.

Billing Event Items

Billing event items are simplified, potentially summarized data items for billable records. Each billing event item is typically directly related to a single business record that is being billed for a specific project. When released to a finance system, a billing event item typically represents a sales invoice line item.

If you have the permissions to do so, you can create a detailed description for your billing event items. See Customizing Billing Event Items.

Billing Events

A billing event is a collection of billing event items, which can be from only one type of business record or multiple types of business record. If you want to understand how your billing events are configured in your org, ask your administrator for help.

When released to a finance system, a billing event typically represents a sales invoice or credit note.

Billing Event Batches

A billing event batch is a collection of billing events that are grouped by account, currency, and unless otherwise configured, time period. This grouping is PSA-specific, and increases the efficiency of the review and release process.

Depending on how your administrator has configured PSA in your org:

  • Billing events are grouped by project ID or master project ID.
  • Billing events can be appended to unreleased billing event batches.

Mass Generating Billing Events

When mass generating billing events, you can:

  • Generate all billing events for a region, practice, group, account, or project.
  • Select the business record types that you want to bill for, and exclude those that you don't.
  • Schedule the generation of billing events by creating a Salesforce scheduled job. Scheduling is currently only available using the Billing Event Generation tab.
  • Generate billing events for a cutoff date, if configured. Flexible billing gives you more control over the billing frequency by enabling you to generate the appropriate billing events for the time period types defined on the project or account.
  • Generate billing events for a specific time period, and include records from previous periods in the same mass generation, if needed.

If PSA enables you to select practices or groups, you can only generate billing events for the projects within those objects. If you need this option, ask your administrator for help.

If you have the relevant permissions, you can use the following tabs to mass generate billing events. These are available from App Launcher:

  • Projects Awaiting Billing
  • Billing Event Generation (Classic)

For more information, see:

Generating Billing Events for an Account or a Project

You can select the business records that you want to bill for from an individual account or project. This gives you a greater depth of detail than when you mass generate billing events.

To generate billing events for an account or project:

  • On the account's record page, click Account Billing.
  • On the project's record page, use the following actions:
    • Actions | Project Billing | Generate Billing Events
    • Project Billing or Actions | Project Billing | Project Billing (Classic)
  • Billing (Apex) API

For more information, see:

Billing Event Calculations

When you generate billing for a time period, an associated Billing Event Calculation object is created. This includes all the related billing event batches, billing events, and billing event items.

The Billing Event Calculation is a system-generated object that does not need to be accessed during the billing process. If you think that there is a problem with the calculation, ask your administrator for help.

If you want to see the billing event calculations for troubleshooting, your administrator can:

  • Add the Billing Event Calculation field to your billing event batch, billing event, and billing event item pages to show the related billing event calculation.
  • Add a Billing Event Calculation related list on your region, practice, group, and project page layouts to show related calculations.

Billing Queues

The process for mass generation of billing events uses billing queue records to generate billing event items and add them to billing events and billing event batches.

The Billing Queue is a system-generated object that does not need to be accessed during the billing process. If you think that there is a problem with the billing queue, ask your administrator for help.

Note: There is no problem if the billing queue record is still visible for records that are no longer eligible for billing. The billing queue record is deleted when billing events are generated.

Releasing Billing Events

After generating billing events or batches and reviewing the information, you can select and release them from the following pages, ready for invoicing:

When you mark billing events as released, their billing event items are also marked as released, but their business records are marked as billed. This doesn't mean that your customer has been billed for the business records, just that PSA recognizes that the billing events have been sent to be converted into invoices in your finance system.

  • When you have selected the Auto-Cap Billing checkbox on a project, project billing events or billing event batches that exceed the billing cap are not released.
  • If PSA – Accounting Connector is installed in your org, additional restrictions might apply before you can release a billing event. For more information, see Billing Events to Sales Invoices or Credit Notes.

For more information, see Releasing Billing Events.

Marking Billing Events as Invoiced

If PSA is fully integrated with your finance system, billing events are marked as invoiced when a response is received after releasing, and your finance system has created the corresponding sales invoice or credit note.

If PSA is not integrated with a finance system, you can mark billing events as invoiced manually in PSA using:

  • If you are using PSA – Accounting Connector, the Create Sales Invoices and Credit Notes button replaces the Mark as Invoiced button on these pages.
  • If you are using the Billing Events Integration feature, the Create Billing Documents button replaces the Mark as Invoiced button on these pages.

For more information, see:

Reverting Billing

Reverting billing deletes the billing event and its billing event items, and reverts associated records to a state where they are eligible for billing again. If you have the correct permissions, you can revert billing for released and invoiced billing events or billing event items.

Warning: Do not delete billing event batches and billing events using native pages.

You can revert billing if, for example:

  • You have generated a billing event containing a billing event item that you do not want to include.
  • You want to remove a whole billing event.

You can revert billing using the following record pages and app pages:

For more information, see Reverting Billing.


If PSA – Accounting Connector is installed in your org, a billing event might be linked to a sales invoice and credit note. In that case, when you revert billing data, PSA – Accounting Connector tries to process the related Accounting document. Depending on the scenario, the Accounting document is automatically processed or you might need to perform additional manual steps. For more information, see Reverting Billing Data for Invoiced Billing Events.

Recalculating Billing

You cannot release a billing event to your finance system if the description or amount of one or more records have been changed since the billing event was generated. In this situation, you can recalculate the billing events for the following records:

  • Budgets
  • Expenses
  • Milestones
  • Miscellaneous adjustments
  • Timecards

You can recalculate billing on the following pages:

For more information, see Recalculating Billing Events.