Invoice: generate a contribution and move to CiviCRM's PDF invoice
Currently Timetrack implements its own entities for invoices and invoice line items. At the time that seemed easier, because we were converting an existing module that already had those entities, but these days it means that we cannot leverage most CiviCRM core features.
If we used contributions and line items:
- We could use the "pay invoice" feature of CiviCRM (pending contribution, visible on contact dashboard, easy to pay by credit card)
- We could use tax calculations from CiviCRM core (with taxcalculator, for taxes per province)
- Contributions could be automatically synced to Quickbooks Online (using Agileware's QB extension)
A few things to think about:
- Missing from Line Items, is the "unit". Line Items have labels (Ex: "CiviCRM development"), and
unit_price
, but notunit_label
("hour"). - Do we completely remove the old timetrack entities, and do everything in line items? Or do we sync? The former is more work until we can start using it, and the later is more risky. Maybe have a button "create contribution" that sets the invoice to "Sent/Pending payment", and if people do edits later on, they have to fix both?