How to Download ChatGPT Plus Invoices (2026 Guide)
A practical guide to pulling ChatGPT Plus invoices from OpenAI's billing portal. The manual flow, where it breaks, and how to automate it.

If your whole product team or engineering org subscribes to ChatGPT Plus individually (which, in 2026, is most companies that have not yet switched to ChatGPT Team or Enterprise), here is what reimbursement season looks like for your finance person: open Notion, pull the list of people on Plus, send them all a Slack reminder to download their monthly invoice, wait three days, get eight invoices back, chase the other twelve. Each person has to log into chat.openai.com, find the billing portal, click through the Stripe-hosted customer portal, download the PDF, save it with a sensible filename, and attach it to an expense report.
ChatGPT Plus is a great tool for individuals. It is a pain for companies that want to expense it cleanly. The billing portal is built for one user managing one subscription, not for a finance team collecting invoices from 30 users who all forgot their password.
This guide covers both paths: the manual flow (what every Plus subscriber is doing now) and the automated way to capture invoices across a whole team. We will be specific about the UI, honest about what OpenAI's billing setup does and does not do, and point out where manual collection loses invoices entirely. If your company has more than 5 people on ChatGPT Plus individual subscriptions, skip ahead. The manual section is there so you know what you are replacing.
The manual way: downloading a ChatGPT Plus invoice
The flow is straightforward for one user. Here is how it actually works in 2026.
Step 1: Sign in and open the billing portal
Go to chat.openai.com. Log in with the account that has the active Plus subscription. Click your profile icon in the bottom-left sidebar, then click My plan. From the My plan screen, click Manage my subscription.
OpenAI redirects you to a Stripe-hosted billing portal at billing.stripe.com (or a similar Stripe subdomain). This is OpenAI's actual billing interface. The ChatGPT Plus product is billed through Stripe, and the portal you land in is the standard Stripe customer portal that thousands of other SaaS products also use. Most of the invoice management happens here, not inside ChatGPT itself.
Step 2: Find your invoice history
In the Stripe-hosted portal, scroll down to the Invoice history section. You will see a list of every monthly Plus invoice OpenAI has issued, with columns for Date, Amount, Status (usually "Paid"), and a "View invoice" / "Download PDF" action on the right.
The list is sorted by date, newest first. For most Plus users this means one row per month going back to whenever you started the subscription. No date filtering. No search. Just a scrollable list of rows.
Step 3: Download the invoice PDF
Click "Download PDF" on the row you want. The browser downloads a file named something like Invoice-XXXXXXX-0001.pdf (the same format Stripe uses for any invoice, since OpenAI uses Stripe's default invoice template). The PDF shows OpenAI's billing details, your billing details, the line item for ChatGPT Plus, the amount, and any applicable tax.
Repeat for every month you need. There is no bulk download button. This is where the single-user flow is fine (one click a month) and the team flow becomes painful.
Step 4: Rename and file
The default filename is Invoice-{stripe-id}-{sequence}.pdf, which is useless for archives. Rename to something like 2026-04-01_openai_chatgpt-plus_$20.pdf and file in your expenses folder or submit to your company's expense system.
For companies: the filename should ideally include the employee name or email so finance can associate it with the right reimbursement. 2026-04-01_openai_chatgpt-plus_jane-doe_$20.pdf works well.
The Stripe-hosted portal does not show your business VAT ID on the invoice unless it was entered at subscription signup or updated manually in the portal under "Update information." If you started the Plus subscription as a personal account and later want to expense it as a business, the VAT ID does not apply retroactively to past invoices. You can update it so future invoices include it, but past ones stay without it. This is a Stripe invoice rule, not specific to OpenAI.
Why manual breaks at scale
Let's put numbers on it for a company, not a single user.
A single ChatGPT Plus invoice takes around 40 seconds to download: navigate to the billing portal, find the row, download, rename, file. For one user doing it once a month, it is trivial. For a finance team collecting invoices from 20 people, each of whom has their own login and their own schedule for remembering to do it, the math changes dramatically.
At 5 Plus subscribers on your team, you are collecting 5 invoices a month, most of which will come in late. At 20 subscribers, you are collecting 20 and chasing at least 6 of them for the second time. At 50 (common in a fast-growing tech company where every engineer wants Plus), you are spending real hours every month just coordinating the collection.
The real cost is in three places.
First, chase overhead. When invoices are collected by asking employees to download them individually, about 30 percent of employees will not do it on time for the first reminder. You send a second reminder, 10 percent still do not do it. You send a third reminder and escalate. By the time you have everyone's April invoice, it is mid-May and you have spent 45 minutes of pure coordination time. Finance time is expensive time.
Second, lost invoices from employee churn. When someone leaves the company mid-month, they often have already paid for their Plus subscription that month but have not downloaded the invoice. If they off-boarded before providing it, you either chase them to their personal email afterward (awkward) or lose the invoice entirely. Multiply by turnover rate and you lose a handful of invoices every year this way.
Third, tax compliance problems. For EU, UK, Indian, and Australian businesses that need VAT-compliant invoices for every expense they claim back, individual employee Plus invoices often do not have the company VAT ID on them (because the employee signed up with a personal card and never updated the billing profile). These invoices look like proof of expense but do not qualify for VAT reclaim. You discover this during the VAT filing and either eat the loss or chase the employee to update and re-issue. Invoices cannot be retroactively re-issued on Stripe-hosted billing. What you have is what you have.
Above 10 Plus subscribers, manual collection becomes a recurring monthly tax on your finance team's time and creates a persistent stream of chase-up Slack messages. Above 30, it is one of those low-value tasks that quietly adds up to hours of coordination time per month. Above 50, you are better off either switching the whole team to ChatGPT Team billing (single invoice, no per-user chasing) or automating the capture individually.
Manual vs automated
Manual
- Every employee downloads their own Plus invoice monthly
- Finance chases the 30% who forget
- Each PDF renamed and submitted to expense system separately
- VAT IDs missing on personally-signed-up subscriptions
- Lost invoices when employees leave mid-cycle
- No consolidated view of company Plus spend
- No direct push to QuickBooks, Xero, or Drive
- Roughly 40 seconds per invoice plus chase overhead
Automated with Inbox Ledger
- One-time inbox connection per employee, runs on its own
- Every OpenAI receipt and invoice email captured automatically
- PDFs extracted with vendor, amount, VAT, billing period parsed
- Missing invoices flagged before month-end
- Leavers' invoices preserved in the archive permanently
- Consolidated Plus spend view across the whole team
- One-click push to QuickBooks, Xero, Drive, or Sheets
- Zero minutes of collection time after setup
Automating with Inbox Ledger
The short version: Inbox Ledger watches each employee's work inbox, captures the OpenAI receipt emails and the linked invoice PDFs, extracts the structured data, and routes them into a consolidated team view or directly into your accounting system.
Here is how setup works for a team.
Connect each employee's work inbox. The cleanest pattern is per-user Gmail or Outlook connection for every Plus subscriber, scoped so Inbox Ledger only reads emails matching OpenAI sender patterns. OpenAI sends receipt emails from billing@openai.com and occasional account emails from noreply@openai.com. The receipt emails themselves do not have the invoice PDF attached (OpenAI uses the Stripe-hosted portal for PDFs), so Inbox Ledger combines email capture with a linked pull of the invoice from the Stripe portal when needed.
For smaller teams where per-user inbox connection feels heavy-handed, the alternative is a shared forwarding flow: every Plus subscriber sets up a Gmail filter that auto-forwards billing@openai.com emails to a shared Inbox Ledger capture address. Setup takes 60 seconds per user, and after that every OpenAI billing event gets captured centrally without anyone having to think about it.
Let the extractor parse each invoice. Every captured ChatGPT Plus invoice gets parsed. Vendor (OpenAI LLC for US, OpenAI Ireland Limited for EU/UK), invoice number, billing period, subtotal, VAT/GST amount and rate, total, currency, customer email (the employee), and the subscription ID. Structured fields, not screenshots. The extractor knows the Stripe invoice template OpenAI uses, so every Plus invoice produces the right shape of data.
Route to your accounting system with employee context. From each extracted invoice, push to QuickBooks, Xero, Google Sheets, Google Drive, or OneDrive, with the employee tag preserved. Set a rule once ("every ChatGPT Plus invoice > Software Subscriptions GL in QuickBooks, tagged with employee name, allocated to the AI Tools budget"), and every future invoice follows it. No more manual reimbursement submissions.
Get a consolidated view of team spend. The Inbox Ledger dashboard shows all captured Plus invoices across the team in one view. Filter by month, by employee, by amount. You can see at a glance that 23 people are on Plus, 22 had April invoices captured, and one is missing (probably a billing issue with that user's card). That visibility is hard to get any other way short of switching to ChatGPT Team.
For the ChatGPT Plus specific walkthrough, including whether you should consider switching to ChatGPT Team for consolidated billing, how to enforce company VAT ID on invoices, and how to handle the difference between OpenAI's personal Plus and the business-tier Team/Enterprise invoicing, see our ChatGPT Plus portal page.
The integrations page covers every destination, including one-click QuickBooks and Xero sync with employee-level tagging. AI processing goes into how the extractor handles OpenAI's specific invoice format and edge cases like proration (when someone upgrades from Plus to Pro mid-month). The Chrome extension adds a one-click "Send to Inbox Ledger" button inside the Stripe billing portal itself, useful for employees who want to submit invoices ad-hoc without setting up a full inbox connection. For teams that manage expenses in Xero, the Xero integration tool has the setup guide, including how to map ChatGPT Plus invoices to the right tracking categories.
Gotchas and edge cases
A few things that surprise people.
Personal Plus vs ChatGPT Team. Individual ChatGPT Plus subscriptions are tied to a personal account with personal billing. Companies with 10+ Plus users should seriously consider ChatGPT Team (currently $25 per user per month, billed to one company account) instead. Team gives you one monthly invoice for the whole team, central admin, and no per-user invoice chasing. The switch costs more per seat but usually nets out cheaper once you factor in the finance team's coordination time. If you are still on individual Plus subscriptions in mid-2026, it is worth running the math.
Receipt emails vs invoice PDFs. The email from billing@openai.com is a receipt, not the invoice. It confirms the charge went through and shows the amount, but it is not a tax-compliant invoice in most jurisdictions. The actual invoice PDF is inside the Stripe billing portal. For simple US bookkeeping, the receipt might be enough. For VAT reclaim in the EU or UK, you need the PDF. Automation captures both so you have flexibility downstream.
VAT ID configuration. When an employee signs up for Plus with a personal card, no business VAT ID is attached to the subscription. Their invoices come out without the company VAT ID, which makes them not-reclaimable for VAT purposes. The employee can update their billing profile in the Stripe portal to add the company VAT ID, but it only applies to future invoices. Past ones cannot be re-issued. For a clean setup, either use the company card for Plus subscriptions from day one, or accept that the first month's invoice will not qualify for VAT reclaim until the VAT ID is added.
If an employee signed up for ChatGPT Plus using their personal email address (not their work email), the receipt emails go to their personal inbox. You cannot connect Inbox Ledger to personal inboxes for work invoice capture without crossing a privacy line. Require Plus subscribers to use their work email for sign-up, and audit the roster at least once a quarter.
Cancellations and pauses. When someone cancels Plus mid-month, OpenAI stops billing immediately but keeps Plus active until the end of the paid period. No pro-rated refund is issued. The final invoice is still the normal $20. When someone pauses Plus (available on some accounts), no further invoices are issued until they resume. Inbox Ledger correctly handles both cases. The cancellation is simply the last invoice in the stream.
Currency and pricing differences. ChatGPT Plus is priced at $20/month in USD, but OpenAI charges in local currency where available (EUR 22-ish, GBP 19-ish, INR 2,000, etc.). The invoice is issued in the local currency with the conversion applied. For US-book companies with team members paying in local currencies, automated extraction captures both the local currency amount and the USD-equivalent at the time of charge, which simplifies reporting.
Credit card failures. If someone's card expires or gets declined, OpenAI will keep trying for a few days, then suspend Plus. There is no invoice for a failed charge. The user has to update the card and Plus resumes (usually without a retroactive bill for the suspended days). Automation does not surface failed charges as invoices, which is correct, but it does mean you might see a gap in the monthly invoice stream for a given user if their card failed. Worth a quick check if a user's invoice is missing.
When automation is not worth it
Honesty section.
If your company has fewer than 5 people on ChatGPT Plus and they all submit their monthly invoice through the normal expense report workflow, automation is probably overkill. The 5 invoices a month can be collected in 15 minutes of chase time by whoever is running expenses.
Same goes if your company has already switched to ChatGPT Team or Enterprise. Those tiers produce one monthly invoice for the whole team, and it is delivered to a single billing admin. Automating a single monthly invoice is not worth the tooling. Download it, file it, move on.
Automation earns its keep when you have 10+ individual Plus subscribers, when reimbursement volume is painful, when VAT reclaim on AI subscriptions is a real dollar amount (EU/UK companies at 20 percent VAT on, say, 30 subscriptions of $20 each for a year = $1,440 of reclaim), or when the coordination overhead is annoying enough to justify fixing it.
Closing: pick the right moment to automate, or switch to Team
The manual path works for small teams and solo users. Five invoices a month, collected by reminding people via Slack, is fine.
Above that, you have two good options: automate the capture across per-user inboxes, or switch the whole team to ChatGPT Team and get one invoice a month. Either is better than continuing to chase individual Plus users every month for documents they forgot to download. If you do go the automation route, you get a side benefit: you can run the same capture on every other AI and SaaS subscription your team uses (Claude Pro, Notion AI, GitHub Copilot, Cursor), not just ChatGPT.
If you want to see what Inbox Ledger does with ChatGPT Plus invoices specifically and how the team consolidation view works, start with the integrations page, connect one employee's inbox, and let it pull a few real invoices. You will know within ten minutes whether it fits your workflow. The Gmail invoice scanner tool has a free sample mode if you want to try it on a handful of OpenAI emails before committing to a full team rollout.