---
title: "How To Guide: Invoicing One-Time Charges from Tickets"
url: "https://help.psarev.io/en/article/how-to-guide-invoicing-one-time-charges-from-tickets"
language: "en"
last_updated: "2026-10-23T16:52:08.788Z"
---

# How To Guide: Invoicing One-Time Charges from Tickets

1. Introduction

![1](https://export.supademo.com/renders/26zc0rmnco/out.png)

2. Before we get started, just know that you can ask Revii to do everything we show you in this video. Try it for yourself after you watch the video!

![2](https://export.supademo.com/renders/9aj87nrtph/out.png)

3. Billing is intentionally flexible in Rev.io. Read this guide and then decide which method or methods your team needs to use in order to be most efficient in billing those one-time charges. Let's get started.

There are two distinct ways to invoice for one-time charges like parts and labor on tickets.

![3](https://export.supademo.com/renders/sjgw0nilap/out.png)

4. You can **invoice the ticket directly** and create a standalone invoice, or you can **send the charges to billing** if you want them to be included on the regular monthly cycle bill.

![4](https://export.supademo.com/renders/jbi1a9c8e4/out.png)

5. **Invoice Ticket** will use the one-time invoice template and will pull in ticket information from the Work Performed information related to the ticket.

Using the **Send to Billing** option simply shows the charges as line items on the regular cycle bill and includes no information about the ticket.

![5](https://export.supademo.com/renders/r923c89sw5/out.png)

6. **Invoice Ticket** allows you to cherrypick items from the ticket to bill at different times from the ticket, creating multiple invoices from the ticket as needed. You can also bill all items.

Using the **Send to Billing** option sends all the charges to the Unposted tab at once. You are able to cherrypick which items to bill once they are shown on the Unposted tab, but you cannot cherrypick from the ticket itself.

![6](https://export.supademo.com/renders/zk7uhc3hua/out.png)

7. Using **Invoice Ticket** will update the *Invoiced* and *Remaining* fields on the Parts & Labor tab. It sets the Billing Status to *Invoiced*, clearly indicating how the charges were billed.

Using **Send to Billing** does NOT update the *Invoiced* and *Remaining* fields on the Parts & Labor tab, so you need to know that. It sets the Billing Status to *Sent*, so you know the charges have been sent to the Unposted tab but we cannot tell from here if that invoice has been created and sent to the customer yet.

![7](https://export.supademo.com/renders/ynh6pnd801/out.png)

8. Using **Invoice Ticket** will allow you to continue to add additional charges to the ticket and invoice those items as you need. You can even add additional charges to the ticket after it is closed and all other items have been invoiced.

Using **Send to Billing** essentially locks the ticket from additional charges being added to the ticket. You also only have the Send to Billing option available to you if the ticket is still open. You'll need to make sure if you want to use this option that you send the items to billing before you close the ticket.

![8](https://export.supademo.com/renders/f7zgc1fbo8/out.png)

9. Once we know how the different options for invoicing one-time charges work, we'll need a plan for the billing team to make sure those one-time charges are invoiced.

![9](https://export.supademo.com/renders/d8tpmlt4kn/out.png)

10. We'll cover 3 different ways you can create a process that works for your team's unique business practices. Use one of these methods, a combination of them, or create your own process.

![10](https://export.supademo.com/renders/c7zg386tf6/out.png)

11. The first option is to create a view where the **Ticket** **Status** is *Closed*, and the **Billing** **Status** is *Not Sent*. Also, add in that **Pending Invoice** is *greater than zero* so you don't pick up tickets that have no charges.

Once you've filtered the ticket list, just save that as a **View** you can use in the future.

![11](https://export.supademo.com/renders/uz8gt4m26g/out.png)

12. This works well if you track SLAs and you need tickets to be closed as quickly as possible. Once the ticket is closed, you can use this view to find those each day.

Note: If any tickets remain open and need to be partially billed, they would not show up so you would likely need to combine this view with another view to catch any open tickets that need to be invoiced.

This is also a great checkpoint to run weekly to ensure all closed tickets have been invoiced, regardless of any other process you use.

![12](https://export.supademo.com/renders/mdjjfqovao/out.png)

13. The next option is to create a custom **Ticket Status** to indicate items that are *Ready to Bill*. You would leave the **State** of the custom status as *No Change to the Ticket* so that the ticket remains *Open*.

Once you create the status, filter the ticket list based on this status and create the **View** like before.

When creating custom ticket statuses, you can set the *State* so that if you apply the status to a ticket it makes no change to the ticket.

![13](https://export.supademo.com/renders/1mvrlroyum/out.png)

14. This works well if you're not concerned with SLAs and the tickets can remain *Open* until they are invoiced.

This method also works well for catching those *Open* tickets that need to be partially billed and cannot be closed yet as work is ongoing.

Again, filter for the tickets with this status and save the **View** for easy access to these tickets.

![14](https://export.supademo.com/renders/wn9oqgycuw/out.png)

15. Another option is to create a custom **Ticket Status** of *Closed* *\- Ready for Billing* with a **State** set to *Closes the Ticket*.

Filter for your tickets and save the **View** to use later.

![15](https://export.supademo.com/renders/ifmlgo8rr1/out.png)

16. This is another good option if you need the ticket to be closed promptly for SLA purposes.

One thing to note on this one is that the billing team would need to make sure they change the status to simply *Closed* after it was billed to ensure invoiced tickets don't continue to show up in the View.

![16](https://export.supademo.com/renders/endjdo6ymi/out.png)

17. Let's create a ticket **Status** that you can use for tickets that are ready to be billed.

From the **Admin** menu, if you have the correct permission to do so, select **System Settings** and then **System Tables** and then click on the **Ticket** tab.

Then select **Status**.

![17](https://export.supademo.com/renders/r18dx63kx6/out.png)

18. Click the **Add Status** button to create a new ticket status such as *Ready for Billing*.

![18](https://export.supademo.com/renders/swdjh6f9yj/out.png)

19. You can also add a ticket **State** when you create a custom ticket status. The default is *No change to the ticket*, but you can also have this status *Close the ticket* if that works for your process.

The **state** is what happens to the ticket when you apply that status.

![19](https://export.supademo.com/renders/ygxy4mtihj/out.png)

20. Now we'll navigate to the **Tickets** screen to create some views using the custom ticket statuses we created.

![20](https://export.supademo.com/renders/osmx7xn8h8/out.png)

21. Click the **Filter** button to narrow down tickets by specific criteria, including the status that you created.

![21](https://export.supademo.com/renders/nisym8y6r6/out.png)

22. Click **Add Condition** to build out the criteria for the view.

![22](https://export.supademo.com/renders/8s3es2emjs/out.png)

23. Add as many **Conditions** as you need to get the ticket list you need.

Here, we've just added *Ready for Billing Review* **status**, but you can layer in other filters such as "**Billing Status** equals *Not Sent*" or "**Pending Invoice** *greater than zero*".

This view will vary depending on how you are choosing to use and manage the tickets that need to be invoiced for your team.

![23](https://export.supademo.com/renders/owywqrxekb/out.png)

24. Click the **Apply** button to execute the filter and view filtered ticket results.

![24](https://export.supademo.com/renders/3ah4izdipa/out.png)

25. Once you have the results you need, click the **Save Current View** button to store your filtered ticket view.

![25](https://export.supademo.com/renders/fvkhd87ctf/out.png)

26. **Name** your view and set the **Sharing** option if you wish other team members to have access to the view you create.

![26](https://export.supademo.com/renders/svqh7n6ijz/out.png)

27. Another example of a filter that you could use, depending on your process and needs, is filtering for tickets in a *Closed* **Status** that have a **Billing Status** of *Not Sent*.

Tickets where you have used the *Invoice Ticket* option will display as **Invoiced**, whereas tickets where you have used the *Send to Billing* feature will display as **Sent**. Any ticket that has not been through either process will show as **Not Sent**.

![27](https://export.supademo.com/renders/ixcktw1xvp/out.png)

28. Again, any of the filters you wish to easily access, save them as views.

![28](https://export.supademo.com/renders/d98ggff4lz/out.png)

29. **Views** display so you can just click to execute the filters easily at any time. You'll see any views you create under **My Views**, and any views that have been shared with you will display under that in the **Shared with Me** category.

![29](https://export.supademo.com/renders/ammdapf9pk/out.png)

30. Views that you refer to often can be set as **favorites** using the star icon.

![30](https://export.supademo.com/renders/8sh2ke989g/out.png)

31. When you select the view, the filter is applied and you will be able to work the tickets from the list displayed here.

![31](https://export.supademo.com/renders/injksqcs8t/out.png)
