If you need to cancel a project that did have payments made, instead of marking the project as 'Lost', you should apply a Discount Service from your inventory (Learn More) and name the service 'Cancelled Project - COVID' (or something similar) to the project for the remaining balance, but leave the project as signed.
This way you can track the usage of that discount and see how much money has been discounted from all projects.
If you leave items on a signed contract, they’ll continue to participate in conflict detection.
You can either remove/delete all items and replace them with a Custom Line Item for the remaining cost or, edit the item quantity of each line item to 0 and add a Custom Line Item for the total remaining cost. You can learn more about adding Custom Line Items here (Article).
If you need to cancel a project that didn't have any payments made, from any project state (new, quote sent, signed, etc) you can click on the project's status and then click 'Lost'.
If your client tries to open a Lost Project, they'll be notified that the event has been cancelled.
You can learn more about what happens when you mark a project as 'Lost' here.
Then, add an 'Internal Note' to this project with whatever label makes most sense for you and your team 'COVID-19', etc. (Click Here).
This way you can easily sort and filter your projects by their Internal Notes (Click Here).
For more customized reporting, you can download your project list (Click Here).