etouch
Sign in
Back to changelog
by Théo Daguier

Changelog — July 20, 2026

Session and project invoicing (etouch PDF or Pennylane) with payment tracking and online Stripe payment, a public Help Center, combined invoicing for multi-day sessions, calendar actions, a rebuilt sidebar and the new marketing site.

#feature#bugfix#security#refactor

Release

v1.57.0

✨ New Features

  • Session and project invoicing — Studios issue numbered invoices when a session or a project is completed, either as an etouch PDF or pushed to Pennylane. Session details (web and mobile) are now organised in Details / Billing / Activity / Settings tabs, and projects get an invoice section behind a completion dialog. #787
  • Invoice payment tracking and invoices dashboard — Session and project invoices can be marked paid or unpaid. A new /invoices page and an Invoices tab on the client sheet list both kinds of invoice with PDF download. #797
  • Online payment of session invoices — An issued session invoice can be paid through a public Stripe payment page (or the "Pay online" action); the webhook marks it paid, records the payment and sends a receipt. #799
  • Public Help Center — A new /help section, readable without an account, with role-aware guides for clients, retouchers and studios in French, English and Spanish, linked from the header, the sidebar and the sign-in page. #795
  • Per-client product prices and Pennylane quotes — Product price overrides are remembered per client, invoice drafts auto-save, studios can link a client to its Pennylane customer and pull quote lines into an invoice, and machine timers can be started retroactively. #805
  • Calendar event actions and combined invoicing — Calendar events open a menu (open, reschedule, delete), overlapping bookings sit side by side with a live "now" line, and several sessions of the same client can be billed on one invoice. #809
  • Combined invoicing from the billing tab — The "invoice together" choice moved into each session's billing tab and is saved server-side; it only proposes consecutive days, so a multi-day shoot is billed once without mixing unrelated sessions. #812 #816
  • New marketing site — Redesigned landing page, About and Contact pages, and a public changelog with version covers (the in-dashboard changelog was removed). #817

🐛 Bug Fixes

  • Organisation and user management restricted to admins — Plain organisation members could manage or delete organisations and impersonate users; these mutations now require an admin role and impersonation is scoped to the viewer's organisations. #804
  • Duplicate clients from e-do reservations — Reservation import matches clients on several weighted signals and keeps a durable import ledger, so a reservation never creates a second client. #801
  • "Invalid invitation" on network errors — The invitation page now tells a failed lookup apart from an expired invitation. #794
  • XLSX label generation — Label sheets exported by packshot tools with non-standard drawing markup no longer crash the generator, and the preview pages through the whole sheet. #811
  • Missing translations in session tabs — Untranslated keys in the session detail view and gaps in the Spanish locale were filled. #788 #791

♻️ Refactoring & Technical Improvements

  • Sidebar and settings — The dashboard sidebar was rebuilt on the shadcn Sidebar primitive (collapsible, mobile sheet, ⌘B) with data-driven navigation groups, and Settings moved to a vertical navigation. #810