# Deployment Notes

## Hosting-friendly QR build
This build is tuned for shared hosting and fixes QR rendering in archived invoices.

How QR works now:
- The app first tries the local QR renderer if the server supports it.
- If local QR is unavailable, it fetches the QR image from QuickChart server-side and embeds or caches it.
- If the remote fetch is blocked, the invoice falls back to a same-origin QR proxy route.
- CSP now allows legacy QuickChart invoice HTML to keep working.

Requirements:
- PHP with OpenSSL and cURL recommended
- Python 3 is optional, not required anymore for visible QR codes
- Outbound HTTPS access improves QR reliability on shared hosting

Useful archive repair tools:
- Archive page now includes:
  - Rebuild HTML for one invoice
  - Rebuild all archived invoice HTML files

Recommended after update:
- Replace all project files with this package
- Clear hosting cache / Cloudflare cache
- Open Archive and run "Rebuild all HTML" once for older invoices
