Advanced Invoicing RFC

From Koha Wiki
Jump to navigation Jump to search

Advanced Invoicing RFC

Status:
Sponsored by: Loughborough University
Developed by: PTFS Europe
Expected for: 2018-10-07
Bug number: Bug 19850
Work in progress repository:
Description: Currently when recording an invoice, the accounting form for each line item only allows for an actual cost field and a single tax rate field. This is inadequate for accounting purposes, we need to be able to record all costs associated with a line item individually to allow break down by items, taxes and services.


Phase 1

Database Changes

aqinvoice_lines

A new table to store the broken down charges:

  • aqinvoices_invoiceid (foreign key references aqinvoices.invoiceid)
  • aqorders_ordernumber (foreign key references aqorders.ordernumber)
  • type (authorized value)
  • description (freetext alternate to above)
  • quantity (quantity of items/services covered by this line)
  • budget_id (nullable foreign key references aqbudgets)
  • list_price (nullable decimal - pre tax value of this line)
  • discount_rate (nullable decimal - percentage discount to be applied to this line)
  • discount_amount (nullable decimal - amount to reduce the list_price by when applying the discount)
  • pre_tax_amount (nullable decimal - pre_tax_amount after any discounts have been applied - may be calculated for display as required using post_tax and tax_rate)
  • tax_rate (nullable decimal - may be calculated for display as required using pre_tax and post_tax)
  • tax_amount (nullable decimal - amount to pay in tax - may be calculated for display as required using pre_tax_amount and tax_rate)
  • total_amount (nullable decimal - final amount to be paid after discounts and taxes have been applied - may be calculated for display using previous fields)
  • sort_key (integer - should we allow ordering of these lines for display?)

System Preferences

  • Add a new preference to switch to 'advanced invoicing' or continue using the existing invoice implementation.

UI

  • Add ability to define invoice lines on the order receive page.

AI RFC 1.png

AI RFC 4.png

  • Add display of invoice lines to the invoice summary table.

1200px

Phase 2

  • Add ability to define invoice line templates to allow the quick addition of similar lines.
  • Add ability to assign funds at the invoice line level.

Phase 3

  • Add the ability to independently invoice and receive, rather than requiring receipting as part of the invoicing step.
  • Add ability to assign multiple funds, split by a given ratio, at the invoice line level.
  • Expose partial invoices on order recieve page.

AI RFC 3.png