Problem. Payment status from gateways must sync back automatically.
Recommendation. Add signed webhook endpoints that reconcile gateway events to invoice and payment records idempotently.
Area. Payments · Target milestone. v2.0
Competitor precedent. FreshBooks and Rocketlane collect online payments (Stripe) and reconcile them; BigTime records payments against invoices.
Touches. app/models/CustomerPayment.js, app/models/Invoice.js, app/controllers/customerpaymentcontroller.js, app/routers/router.js
Filed from the research-driven product backlog (BACKLOG.md), sourced from Perplexity deep-research across Harvest, Toggl Track, Clockify, FreshBooks, BigTime, My Hours, Rocketlane and Wrike. One issue per backlog item; the two views stay in sync.
Problem. Payment status from gateways must sync back automatically.
Recommendation. Add signed webhook endpoints that reconcile gateway events to invoice and payment records idempotently.
Area. Payments · Target milestone. v2.0
Competitor precedent. FreshBooks and Rocketlane collect online payments (Stripe) and reconcile them; BigTime records payments against invoices.
Touches. app/models/CustomerPayment.js, app/models/Invoice.js, app/controllers/customerpaymentcontroller.js, app/routers/router.js
Filed from the research-driven product backlog (
BACKLOG.md), sourced from Perplexity deep-research across Harvest, Toggl Track, Clockify, FreshBooks, BigTime, My Hours, Rocketlane and Wrike. One issue per backlog item; the two views stay in sync.