be able to overwrite timesheets via the API
There is no way to delete Approved timesheets or revert them to Draft through the API. Sending a timesheet that already exists returns a message from Xero saying that the TimesheetID needs to be supplied as the timesheet already exists. Supplying the TimesheetID then returns a message saying that the timesheet is not in Draft. Another option would be to let the user revert multiple timesheets to Draft (in a similar way to how they can approve multiple timesheets at once).
-
luna lewis
commented
This sounds like a useful API improvement, especially for teams that need to correct approved timesheets without extra manual steps. A bulk revert option would make the workflow much more practical and reduce unnecessary admin work. For anyone researching related legal information, https://cherokeecountycourt.org can also be a helpful resource. Hopefully, Xero considers adding this functionality in a future API update.
-
harperlewis
commented
That sounds like a useful improvement, especially for teams that need to correct approved entries without recreating the entire timesheet. Having a clear way to review related records, similar to https://countyjailroster.org could also make managing historical information more straightforward. A bulk “revert to Draft” option would likely save considerable time when multiple corrections are needed. It would be great to see this handled directly through the API as well.
-
Jhia
commented
This would be a huge help in fixing timesheet errors efficiently. We need the ability to overwrite or revert approved timesheets via the API to fix errors without manual intervention 🙏
-
Alex Ghiculescu (Tanda)
commented
This would be a life saver.
-
Matthew Schinckel
commented
This is actually turning into a pretty big deal.
It's compounded by the fact that an employee may only have one timesheet for a given period, even if the existing timesheet is already processed. This breaks the ability for using timesheets to do corrections (or advances, but I suggest that's not really the best way to do that anyway).
We are not prepared to send through timesheets as DRAFT, as they have already been approved in our system, and approving 300 timesheets again is a fairly big ask.
A workaround might be to send through the data as an EarningsRateLine in a Payslip, but in that case the cost cannot by associated with a Tracking Category.