The Sales entity is a complex document entity, used to support Sales Invoices, Retail Slips and Sales Credits.


Simple Diagram of the Sales Entity

* the above diagram is NOT complete - for more information see the database schema


Tables of the Sales entity:

  • Sales entity -> includes the tables dbBusinessDocument, dbSales and dbBusinessDocument_ProductLine


The dbBusinessDocument table includes information about the type of Document, the transactionDate, the numbering etc, fields that are common to all the Sales entities.

Every dbBusinessDocument is linked to a dbBusinesObject record that is linked to a fixed dbSystemObject record.

The dbSystemObject defines the transactions a Sales entity posts and dbBusinessObjects controls the remaining dbBusinessDocuments "behavior" - like the type of systemObject,  print forms, numbering etc


Important notes:

  • dbSales could have been named dbSalesInvoice for more consistent naming, but it wasn't (!!), mainly because it can be a Retail slip also.
  • dbSales includes the field nBusinessDocumentPK that is its PK and its FK for the link with dbBusinessDocument,
  • the nPartyFK is in the dbSales table AND not in the dbBusinessDocument table,
  • dbBusinessDocument_ProductLine is linked to the dbBusinessDocument table and contains the Products of the Sales,
  • the tables that supported VAT in previous releases have been removed.


All Sales entities are automatically posted and various transaction entries are created as soon as the Sales entities are added to the Database.

This is different from what happened in previous versions where adding and posting where 2 different steps and 2 different calls from local procedures.

You still can "emulate" the old 2 step process by removing the call to posts from the main add procedures ...


* Note that SystemObjects are the most important part of the alpha360 apps and control the behavior of the apps.