Skip to content

Payments: allocate payments to invoices #392

Description

@CryptoJones

Problem. CustomerPayment links to a customer only, so payments cannot be applied to specific invoices or drive balances.

Recommendation. Add invoice allocation (a cpayInvId or an allocation table) so a payment reduces one or more invoice balances.

Area. Payments · Target milestone. v1.1

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:paymentsFeature area: paymentsfeatureProduct feature from the research-driven backlog

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions