Module Customers Invoices (developer)

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
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