Skip to content

Instantly share code, notes, and snippets.

@solars
Last active April 4, 2017 08:39
Show Gist options
  • Save solars/9368df4c403e14d3b839e9688680a6e7 to your computer and use it in GitHub Desktop.
Save solars/9368df4c403e14d3b839e9688680a6e7 to your computer and use it in GitHub Desktop.
A. auto payment + overdue
1. CPC -> ERP prepayment: tid: 1, amount: 500, status: open
2. daily sync
<14d, tid: 1 erp: pending -> cpc: open
>14d, tid: 1 erp: pending -> cpc: overdue
1,500,paid (erp status: pending)
2,500,paid (erp status: pending)
3,500,paid (erp status: pending)
4,500,paid (erp status: pending)
-> payments: 2000, costs (e.g) 1500 -> balance: +500 channels stay open
ERP teilt mit das id1, overdue ist:
1,500,unpaid (erp status: unpaid)
2,500,paid (erp status: paid)
3,500,paid (erp status: paid)
4,500,paid (erp status: paid)
-> payments: 1500, costs (e.g) 1500 -> balance: 0 channels stay open
CPC side:
- problem: CPC payments in previous years cannot be changed
- balance = sum(payments)
Prerequisites:
- no partial payments, only complete payments (extra note on invoice?)
- paid -> open/overdue needs special care by accounting
ERP to CPC daily sync (e.g. amount: 500)
open -> paid # change state of existing entry - does not change balance
open -> overdue # new reverse entry, -500
open -> refunded # new reverse entry, -500
paid -> open # change state of existing entry - does not change balance
paid -> refunded # new reverse entry, -500
paid -> overdue # new reverse entry, -500
overdue -> paid # new duplicate entry, +500
overdue -> refunded # change state of existing entry - does not change balance
refunded -> open # new duplicate entry, +500
refunded -> paid # new duplicate entry, +500
refunded -> overdue # change state of existing entry - does not change balance
States of prepayment:
open: no payment
paid: payment from everything except refund journal
refunded: payment from refund journal
overdue: open and older then x days
Optional immediate notification for:
open -> paid
paid -> open
open -> refunded
paid -> refunded
overdue -> paid
overdue -> refunded
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment