
Progress billing is live. Here’s what shipped this week.
New Features
• AR Payments Module — Payments are now a first-class noun in BasicBMS. Record partial payments, apply them to open invoices, and track the remaining balance automatically. Supports multi-method payment workflows and progress billing across a project lifecycle.
• Stripe Checkout Integration — Generate a Stripe payment link from any invoice. Customers receive a QR code (on print or email) to pay by credit card. Webhook confirmation updates the general ledger automatically. Includes surcharge/fee disclosure shown to the customer before checkout.
• Zelle Module — Displays your Zelle QR code, phone number, and email directly on printed and digital invoices. Customers pay through their bank app; you mark it paid in BasicBMS.
UI/UX Improvements
• Invoice header layout and styling tightened up
• Invoice section title now visible on print
• Stripe fee callout and fee disclosure added to payment flow
• Amount Due renamed to Invoice Total
• QR code cleaned up using server-side 302 redirect
• Print button and title hidden on print view
• Generic Text Module styling normalized to match other controls
• Module titles and spacing tightened across invoice components
• Property value separators normalized to colon format
Bug Fixes
• Invoice/Items column wrapping — fixed alignment issue
• Invoice column header and row misalignment — resolved
• Print page breaks — fixed
• h3 heading size on print — corrected
• Double-rendering bug in components — resolved
• DateTime field binding on Edit interface — fixed
• Credit card success/error handling — cleaned up
Backend
• Payment entity, migrations, service, controller, and endpoints added
• Stripe webhook handler updated to use metadata amounts
• Stripe payment link active/expire endpoints added
• 302 redirect added to handle BMS-to-Stripe URL routing
• Surcharge revenue field added to General Ledger defaults
• Zelle configuration and properties added
• Print CSS media tag added to Puppeteer initialization
Coming up: The Scheduler module will connect to invoice creation. We’re building the email queue, PDF generation engine, and document rendering layer to make that happen.


