While it works to store past transactions, open transactions provide an exchange, so it works for stock exchanges, currency exchanges, or grocery store transactions.
One table with 5 columns:
Transaction ID
Commerce ID - person/entity identifier
Item Type - initiating value, terms, value, delivery, notice, status
Description - quantity and value OR terms OR status/notice messages
Time Stamp
One table with 5 columns:
Transaction ID
Item Type - initiating value, terms, value, delivery, notice, status
Description - quantity and value OR terms OR status/notice messages
Time Stamp
Example - Selling 100 IBM for a final price of 4900 USD:
Initiating a transaction, 100 IBM, myCommerceID
Terms, 5000 USD, myCommerceID
Corresponding Value, 4900 USD, hisCommerceID
Accepted, contract, myCommerceID
Delivered, 100 IBM, myCommerceID
Delivered, 4900 USD, hisCommerceID
Completed, completed, myCommerceID
Completed, completed, hisCommerceID
Example - Buying 100 IBM for a final price of 5100 USD:
Initiating a transaction, 5000 USD, myCommerceID
Terms, 100 IBM, myCommerceID
Corresponding Value, 100 IBM, hisCommerceID
Modification, 5100 USD, hisCommerceID
Accepted, contract, myCommerceID
[deliveries on both sides of the contract]
1. Note the identical structure for both the Bid and Ask. Everything is a commodity.
2. In-process transactions create a market place for goods and services.
3. The standard format allows other companies to participate.
The above is what I term a "transaction stack".