Posting and Transactions in Sales
Every Sales BusinessDocument can be in one of the following states: NotPosted or Posted.
When a Sales BusinessDocument is Posted, the system creates entries in one or more of the following transaction tables - tCustomerTransaction and tInventoryTransaction.
The transaction entries include data that come from the complex Sales Document data entity (dbBusinessDocument, dbParty, dbProduct, dbBusinessDocument_ProductLine etc) in a NON Relational way.
- Transaction tables are NOT linked to any tables and you can add or delete entries from them but you must not allow a user to directly modify these entries.
Notes
- the Boolean field dbBusinessDocument.bPosted shows if a Sales BusinessDocument is Posted or NOT,
- the sum tables of previous versions have been removed - all sums are now done with SQL Queries, using the transaction tables,
- all Reports must use these transaction tables because they are complete, fast to read and easy to follow,
- Posting to GL vs Posting - they are not the same - the field dbBusinessDocument.bPostedLedger shows if the BusinessDocument is posted to Accounting/GL.
- the posting procedures are in the BP_POST area of the procedures,
- in v3, during a BP_add* of a complex entity, the relevant post procedure is called inside the BP_add*,
- this means that Sales entities are always posted - you can change this behavior by removing the posts from the add/modify BPs.
Simple Diagram of the Transaction Entities
* the above diagram is NOT complete - for more information see the database schema