Why Editing an Invoice Doesn't Update a Share Link You Already Sent
In this article
Here's a situation that catches people out. You send a client a share link, notice a typo in a line item, fix it, and save. The client opens the link, and the typo is still there. Nothing is broken. A share link doesn't point to your live invoice. It points to a copy of the invoice taken at the moment you created the link.
A Share Link Stores a Copy
When you create a share link, the server makes a random 48-character token and stores it with a full copy of the invoice as it is at that moment: line items, totals, notes, terms, logo, everything. When someone opens the link, the server reads that stored copy and returns it. It doesn't look up your current saved invoice at all.
That's intentional. Because the link holds its own copy, it shows exactly what you sent, even if you later edit, archive, or delete the original. A client can come back weeks later and see the version they agreed to. It also means an invoice saved only in your browser, which the server never stored, can still be shared, because the link carries its own data.
What This Means After You Edit
Editing and saving an invoice replaces the stored invoice in your workspace, but it doesn't touch any share link created earlier. Those links keep showing the version from when they were made. If the change matters (a corrected amount, a new due date, an added line item), the client needs a new link.
The fix is short:
- Open the share dialog for the invoice. It lists the active links for that invoice.
- Revoke the old link. Revoking sets a timestamp on the link, and from then on the server refuses to serve it.
- Create a new link and send it. The new link copies the invoice as it is now.
Revoking first means the client can't open the outdated version by mistake from an earlier email.
The PDF QR Code Works the Same Way
When you're signed in and download a PDF of a saved invoice, the app adds a QR code that opens a share link. To do this, it first looks for an existing link for that invoice that hasn't expired and isn't password-protected. If it finds one, it reuses it. Only if there's none does it create a new link, valid for 30 days.
Reusing the link avoids creating a new one every time you download, but it has the same effect as above. If you edit an invoice and download the PDF again while an older link is still active, the QR code can lead to the older copy, even though the PDF itself shows your changes. If the QR code needs to match, revoke the old links before downloading again. The next download will create a fresh link from the current version.
Expiry and Passwords Are Fixed When the Link Is Created
Expiry and passwords are also set at the moment the link is created. You choose a lifetime from 1 to 30 days (7 by default) and can add a password of at least four characters, which is stored only as a bcrypt hash. Neither setting can be changed afterwards. To give a client more time or remove a password, create a new link with the settings you want and revoke the old one.
An expired link returns a clear "expired" response, not the invoice, and a revoked link responds as if it doesn't exist. In both cases the stored copy is no longer shown to anyone.
Where the Copy Doesn't Apply
The client portal works differently. A portal link gives a client a list of their documents, and each one is loaded from your workspace at the time it's opened, so edits appear there straight away. If you regularly revise invoices after sending them, the portal is the better way to keep clients on the current version. Share links are best when you want the client to see one fixed version.
Related Articles
How Business Profile Defaults Fill In New Invoices
Your business profile fills in your details, currency, tax rate, payment terms, and design on new blank invoices only. It never changes invoices you've already started, and only workspace admins can edit it.
What Your Client Receives When You Email an Invoice
The email is a short summary with the invoice number, issue date, due date, and total. It doesn't attach the PDF or include a link, and it comes from a no-reply address, so it helps to know what to send with it.
What Happens to Invoices You Create Without an Account
Without an account, saved invoices are kept in your browser's local storage, not on our servers. They aren't copied into an account when you sign up, and signing out of an account on that browser clears them.
Deleting a Client Doesn't Touch Their Invoices
Saved clients are an address book, not a foreign key — invoices store billing details as their own inline copy, so deleting a client record leaves every invoice you've sent them completely intact.
What Happens When You Convert an Estimate to an Invoice
Converting doesn't turn the estimate into an invoice in place — it creates a brand-new invoice with a new ID and marks the original estimate as converted, permanently linking the two in both directions.
How Bulk "Mark as Paid" Actually Works
Selecting invoices and marking them paid in bulk doesn't edit a status field directly — it records an actual payment for whatever's still outstanding on each one, because a hand-edited status would get silently overwritten otherwise.