Module Customers Invoices (developer)

= Feature = The invoice module is to manage the following entities: The suppliers invoices are managed by the Module Suppliers (developer).
 * Customer invoices
 * Lines of customer invoices
 * Predefined invoices

Rounding of VAT lines is done by the rule "the nearest".

Example:

for 0,0000 to 0,0049 --> 0,00

for 0,0050 to 0,0099 --> 0,01

= Entity Invoice =

Business rules:
 * An invoice has several invoice lines
 * You can attach 1 to n contacts to an invoice
 * To complete...

Life cycle:


 * An invoice can be create as a draft (This call trigger BILL_CREATE)
 * An invoice can be modified (This call trigger BILL_UPDATE)
 * An invoice can be validated (This call trigger BILL_VALIDATE)
 * An invoice can receive one or several payments
 * An invoice can be closed by status Abandoned or Payed (This call trigger BILL_CANCEL or BILL_UPDATE)

= Entity Invoice line =


 * An invoice line has type product or service (you choose if both module Products and Services are activated).
 * An invoice line represent a product into an invoice (with a unit price, a qty, a vat and a discount)
 * Each invoice has between 1 and n invoice lines

= Entity Predefined invoice =

= Permissions =
 * ->facture->lire
 * ->facture->creer
 * ->facture->modifier
 * ->facture->valider
 * ->facture->envoyer
 * ->facture->paiment
 * ->facture->supprimer
 * ->facture->facture->export

= Tables SQL =
 * llx_facture
 * llx_facturedet
 * llx_facture_rec
 * llx_facturedet_rec

= Constants =
 * FACTURE_ADDON_PDF
 * FACTURE_ADDON
 * FAC_FORCE_DATE_VALIDATION

= Scripts =
 * rebuild_merge_pdf.php
 * email_unpaid_invoices_to_representatives.php