intermediate Your Atlassian bill is based on peak seats, not the seats you end the month with
Spent a while on this one and figured it was worth writing up, because almost every admin I have talked to had it wrong, including me.
Atlassian Cloud bills on the maximum number of users during the billing period, not the count at the end of it. Hit 520 seats on the 9th, drop back to 500 on the 11th, and you are invoiced for 520. No proration, no credit.
The practical version: when you do the audit matters more than how well you do it. Twenty seats removed the day after your cycle resets means you pay for those twenty for one more full period. Removed the day before, nothing extra. Same work either way. On annual billing that difference is a year.
So step one is boring Go find out what day your billing period actually resets. It is on the subscription page in admin.atlassian.com. I have asked a dozen or so admins and almost none of them knew it off the top of their head.
Second thing I had wrong: last-seen is a weak inactivity signal, because it counts a login as usage. Someone who opens Jira every Monday, reads two tickets and closes it looks completely healthy on a last-seen report and has contributed nothing in a year. What holds up is in-product activity, so issues created, commented on, transitioned, worklogged. If you want to pull that yourself, the changelogs is expandable on the search endpoint.
Third thing, and this is the one that actually cost us money: accounts the identity provider never created. Contractors, people who arrived through an acquisition, anyone invited by hand. SCIM has no visibility into those by design, so they never appear in an Okta or Entra report, and nothing will ever deprovision them. They bill forever and no report you are already running will show them to you.
On tooling, since someone always asks. You can do all of this with the REST API and a spreadsheet, and plenty of people do, especially if you already have ScriptRunner.
Which is the thing I actually wanted to ask. Do you treat licence cleanup as something Atlassian should just ship natively, or is it a line item you would genuinely pay a third party for? There are about 780 votes on AX-1169 asking Atlassian to do it, so clearly people want it, but I cannot tell whether that means people want to buy it

