# Billing

While the Octoo platform, itself, is free for customers to use, customers *are* responsible for paying their partners for the services rendered. Payment can be made by check or credit card. A customer must have a default billing contact that will be associated with all invoices.

## Expense codes

{% hint style="info" %}
An **expense code** is a way for customers to tag, group, or track requests and invoices.
{% endhint %}

An **expense code** is a customer-specific identifier assigned to a request and then invoice. It can represent any concept the customer wishes to track; common **expense codes** are "purchase order" or "cost center" or "authorization code".

Once an expense code has been added to an **request** or **service** it will be automatically transferred to the related **proforma** or **invoice** during the billing process.

By default, new customers will not have any **expense codes** defined.

### Creating a new expense code label

{% hint style="warning" %}
The ability to add/remove an expense code label for a customer is permission-based; if you do not see these options speak to your account lead about having permissions updated.
{% endhint %}

Customers can define an **expense code label** (e.g., "purchase order") by going to `Settings -> General -> Expense Codes`. <https://app.octoo.com/settings/billing-expense-codes>

When a customer account is managed by the partner directly, a partner can modify a customer's expense code by navigating to the customer's profile and browsing the settings page.

### Adding to a request

Expense codes can be added to requests in the `Details` section. A request can have more than one expense code.

<figure><img src="https://1289211425-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSDEsicvUEa7h3PVCLlQC%2Fuploads%2FJN6CnxTiYIgbOhGri6lf%2Fimage.png?alt=media&#x26;token=2e48bee5-aaf2-4c03-8fc6-370934622456" alt=""><figcaption><p>Example expense codes at the request level</p></figcaption></figure>

### Adding to a service

Most customers apply expense codes at the request-level; however, you can also add a separate expense code for every service in a request by selecting `Edit expense code` from the contextual menu next to the service details. You can see the code appended to the end of the service line or if you expand the service details using the `[i]`.

<figure><img src="https://1289211425-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSDEsicvUEa7h3PVCLlQC%2Fuploads%2FZmRwczfL3Mh3HAcvoU1w%2Fimage.png?alt=media&#x26;token=bb5ade06-0dce-407f-8bae-f1042390a489" alt=""><figcaption></figcaption></figure>

#### Automatically applying expense codes

If the customer wishes to have the same code(s) applied to every new request, they can set up this feature in their customer settings in the billing section: <http://app.octoo.com/settings/billing-expense-codes>

### Invoicing

An expense code attached to a request will transfer to its related **invoice.** By default, each **invoice** will be *grouped* by the specific code so that all billed services for the code appear on the same invoice together.

For example, if the customer was billed for all services rendered in November, those requests with the "ABC123" authorization code code would be grouped on a single invoice. This can result in one customer receiving multiple invoices for the same period based on the codes provided.

### Apply expense code to each proforma

Thought less common, customers can apply the expense code to each proforma invoice (rather than grouping by AR invoice). When this is enabled each line item on the AR invoice will reflect a different expense code from the related **proforma**. This is useful when you are tracking something like a "Request #" that must be present on every date or service.

### Require expense codes for request submission

Customers may choose to require that an expense code be present before a request can be submitted. This ensures that the correct billing information is always attached to the related proformas or invoices. Please speak with your partner about enabling this requirement on your customer account.
