Every Purchase[Invoice] entity is represented by 2 tables:

  • the bBusinessDocument table that has fields [or information] common for all Sales and Purchase documents, like TransactionDate, Numbering, Posting, Currency etc.

Every bBusinessDocument table has a field named sBusinessObjectFK_PST, that relates it to a record from the bBusinessObject table.

This record controls printing forms, online posting etc and through the bBusinessObject.nBusinessObjectRole field the type of transaction(s) created when we post the  Purchase Object. For Reporting issues, the bBusinessObject.nBusinessObjectRole field is also assigned to the bBusinessDocument.nBusinessObjectRole_PST field.


  • the bPurchase table that has fields [or information] specific to Purchase[Invoices], like Party, Party Branch, Invoice Amount etc.


the 2 tables above have a 1 to 1 relation through the use of bBusinessDocument.sBusinessDocumentPK and bPurchase.sBusinessDocumentFK fields - one [and only one] bBusinessDocument record for every bPurchase record is created.

Note that bPurchase.sBusinessDocumentFK is both a PK and a FK (to a bBusinessDocument record).


  • To handle the Products [and Services] of a Purchase[Invoice] we use the table: bBusinessDocument_ProductLine
  • To handle the Expenses of a Purchase[Invoice] we use the table: bBusinessDocument_ExpenseLine
  • To handle the TAXEs of a Purchase[Invoice] we use the table: bBusinessDocument_TAXLine

Just Note that these tables are related to the bBusinessDocument table and not the bPurchase table.


"Around" the tables of this entity, are various Dimension tables [like gSalesTerms], connected by FKs.

You can find more information about the entity in the WX Analysis [or the SQL Schema].