Module Customers Invoices (developer)

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search

Return to developer
documentation index

File Doc dev.png

Return to
list of modules index

Art.png

Invoice
Numero/ID of module 30
User doc. of module Module Customers Invoices
Developer doc. of module This page

Feature

The invoice module is to manage the following entities:

  • Customer invoices
  • Lines of customer invoices
  • Predefined invoices

The suppliers invoices are managed by the Module Suppliers (developer).

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

The PHP class to use to manipulate such object is file htdocs/compta/facture/class/facture.class.php.

It contains CRUD methods to create (C), read (R), update (U) and delete (D) this object.

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 created as a draft (This calls trigger BILL_CREATE)
  • An invoice can be modified (This calls trigger BILL_UPDATE)
  • An invoice can be validated (This calls trigger BILL_VALIDATE)
  • An invoice can receive one or more payments
  • An invoice can be closed by status Abandoned or Payed (This calls trigger BILL_CANCEL or BILL_UPDATE)

Entity Invoice line

The PHP class to use to manipulate such object is file htdocs/compta/facture/class/facture.class.php.

It contains CRUD methods to create (C), read (R), update (U) and delete (D) this object.

  • An invoice line has type product or service (you have to choose if both module Module Products and Services are activated).
  • An invoice line represents a product/service in 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

The PHP class to use to manipulate such object is file htdocs/compta/facture/class/facture-rec.class.php.

It contains CRUD methods to create (C), read (R), update (U) and delete (D) this object.

Permissions

  • ->facture->lire
  • ->facture->creer
  • ->facture->modifier
  • ->facture->valider
  • ->facture->envoyer
  • ->facture->paiment
  • ->facture->supprimer
  • ->facture->facture->export

Tables SQL

Constants

  • FACTURE_ADDON_PDF
  • FACTURE_ADDON
  • FAC_FORCE_DATE_VALIDATION

Scripts