Printing an invoice

The app renders its own printable copy rather than fetching the WHMCS PDF, because that PDF is served behind a client area session the app does not hold, and asking someone to sign in twice to see their own invoice is not a feature. The printable copy opens in a new tab with a Print button; every phone and desktop browser offers "Save as PDF" behind that dialog, which is better supported than a server-side PDF library nobody has installed. The link works once and expires after ten minutes, so a copy forwarded to somebody else is already dead.