The renewal date now fixes the month's seat cost
GitHub's Copilot billing update changes when eligible organisations have to make the seat decision. From 1 October 2026, existing Copilot Business and Copilot Enterprise customers paying by credit card or PayPal are charged upfront for every assigned seat at the start of the billing cycle.
The list price is not changing. The control point is. GitHub says a seat added during the cycle is still prorated from assignment to the end of that cycle, while removing a seat does not produce a prorated refund. The lower seat count appears on the next cycle.
That makes a review after the invoice arrives too late to affect the month already paid for. The useful review happens before renewal, while each assignment can still be matched to a person, a team and a current reason for access.
As checked on 2 October 2026, GitHub's current license-change documentation confirms the same mechanism. Added seats are billed immediately on a prorated basis. Removed seats stop billing at the end of the cycle. No refund is issued for unused time.
Separate assignment, access and billing
One row in an admin screen represents three different states.
First, assignment decides whether the organisation has allocated a Copilot license to the account. Second, access decides whether the person can use the product now. Third, billing follows the paid seat rules for the current cycle.
Those states can move at different times. GitHub says that unassigning a seat during a billing cycle lets the user keep access until the end of the cycle. Revoking the seat removes access immediately, but billing still stops only at the end of the cycle.
This distinction matters during offboarding. A security owner may need access removed immediately. A finance owner may expect the same action to create a same-day credit. It does not. Record both outcomes so the ticket does not close with two teams holding different assumptions.
Disabling Copilot for an organisation or removing a licensed user from the organisation also removes access immediately, according to GitHub. The paid amount still follows the cycle boundary. Access control is therefore not a substitute for renewal planning, even when it works exactly as intended.
Build the seat inventory from sources that can disagree
Do not start with a target percentage. Start with a join.
Export or review the assigned Copilot seats, then match each account against the identity directory, the employment record and the team that owns the cost. GitHub's seat-assignment reference notes that seats are assigned to specific user accounts and can be managed in organisation settings or through the REST API.
Give every row an explicit result:
- keep, with an active owner and current need
- remove before renewal
- revoke now for an access reason, while accepting the current-cycle cost
- investigate, with a named person and a deadline before renewal
The investigate state is important. Shared accounts, renamed identities, contractors between projects and users assigned through more than one organisation can make an apparently unused seat legitimate. Removing it without an owner check can interrupt work. Keeping it by default turns uncertainty into recurring spend.
For an enterprise with several organisations, deduplicate at the right level. GitHub says that if the same user receives seats from multiple organisations within one enterprise, the enterprise is billed once for that unique user in the cycle. A raw sum of organisation exports can therefore overstate the bill.
Find the systems that can add a seat back
A clean spreadsheet is not a durable control if another system can recreate the assignment the next morning.
GitHub allows organisations to grant Copilot access through teams. A user can receive a seat automatically when they are added to a team with Copilot access, including through SCIM or team synchronisation. The seat-assignment documentation also explains that the audit event for this automatic seat can point to the person who originally granted Copilot access to the team, not the person who later added the member.
Trace the assignment path before removing a seat. Check direct assignments, Copilot-enabled teams, identity-provider groups and any provisioning job that manages membership. Then make the change at the authoritative layer. Otherwise a removed seat can return, and the audit log can make the latest membership change less obvious than expected.
This is the same class of problem as cloud resources managed by infrastructure as code. Deleting the generated resource is temporary when the declaration still exists. For Copilot, the declaration may be a team policy rather than a configuration file.
Put the review before the billing boundary
Choose an internal cutoff before the renewal date and make it visible to engineering, finance and identity owners. The exact lead time depends on the size of the organisation and how quickly managers answer. The requirement is that unresolved rows still have time to be decided before the cycle begins.
A practical monthly run has four outputs:
- the assigned-seat export with a capture time
- the owner and assignment path for every seat
- the approved removals and immediate revocations
- the expected seat count for the next cycle
Keep the evidence with the billing record. When the next invoice differs from the expected count, compare assignments and renewal timing before assuming a pricing error. A mid-cycle addition is supposed to create a prorated charge, while a removal affects the next cycle.
This control should also run when a team is dissolved, a contractor cohort ends or a broad Copilot-enabled group changes. Waiting for the monthly review can be correct for cost, but it is not sufficient for access.
What this does not change
The October update does not increase Copilot Business or Enterprise list prices. It does not mean every assigned seat is waste, and it does not show whether Copilot produces enough value for a particular team.
It also has a narrower scope than a universal GitHub billing rule. The announcement applies the new upfront behaviour to existing Business and Enterprise customers paying by credit card or PayPal. Customers on other payment arrangements should verify their own terms rather than copying this workflow as a statement about their invoice.
Finally, seat cleanup controls the subscription base, not additional AI usage. GitHub says spend controls, usage tracking and the option to buy additional AI credits remain available. Those are separate controls with separate evidence.
The useful acceptance condition is simple: before renewal, every assigned seat has a current owner, a known assignment path and an explicit keep or remove decision. After renewal, the paid count matches that approved inventory, with any mid-cycle additions explained. That turns Copilot billing from an invoice surprise into a repeatable operating control.
Written by Dandelion Labs