View source | View content page | Page history | Printable version   

Projects:Improve CashUp Robustness

Note: Work in progress



The goal of this project is to improve the cashup process security.

This project will change the paradigm of to the cashups in Web Pos. Currently the cashup was understood just as a process, it wasn't an entity itself like Orders or Products in the backoffice. After this improvement, the idea is to synchronize the cashup information as an entity.

Test Cases

Online context

Test Case 1

Pre-condition: No cashups in local db neither bo db

1. Login in WebPOS

Post-condition: Cashup created in local db with payments setted to 0, Non processed cashup created in the server, with no info in payment method table. Cashup non processed in both sides.

Test Case 2


1. Create a new order

Post-Condition: Cashup data has been updated in local and server. In the server records in tax cashup and payment method table has been created/updated. Both databases are synchronized. Cashup non processed in both sides

Test Case 3

Pre-condition: Clear the cache in local

1. Login 2. Create a new order

Post-Condition: cashup info sould be synced. Cashup is not processed in both sides.

Test Case 4

Pre-conditions: Exists cashup non processed in webpos

1. Do the Cashup Process

Post-Conditions: Cashup should be processed in the server. Cashup in local is updated as processed. New Cashup created in local (isprocessed='N'). The starting amount of the payment methods should be the keept amount in the cashup process.

Test Case 4.1

Pre-conditions: The cashup process has just been executed

1. Create new order

Post-conditions: Processed cashup info should be deleted. Non processed cashup info should be updated in both sides.

Offline context

Test Case 1

Pre-conditions: Exists a cashup non processed in local and in the BO

1. Create 3 orders 2. Check that cashup info in local db changes properly 3. Restore the connection

Post-conditions: Synched. cashup info.

Test Case 2

Pre-Conditions: Exists a non processed cashup in local

1. Do the cashup 2. Restore the connection

Post-conditions: New cashup should be created in local, processed cashup should be sent to the BO.

Test Case 2.1

Pre-Conditions: Exists a non processed cashup in local 1. Do the cashup 2. Create new orders 3. Do the cashup 4. Restore the connection Post-Conditions: 2 processed cashups should be created in the server and new cashup non processed in local

Changes in the Back Office

New entities and windows created

Currently the cashup information is stored only in the client side. This project will create in the back office all the table structure to store the cashup and the information related to taxes and payment methods.

It will be added two child tabs to the "Cashup History" tab in "POS Terminal" window to see the entities mentioned above. On the other hand, some read only numeric fields will be added to the "Cashup History" tab: "Net Sales", "Gross Sales", "Net Returns", "Gross Returns", "Total Retail Transactions" and a boolean "processed" to show if the cashup is closed or not.

In order to track all the cash managements, a new column will be added to the financial transaction entity "Cashup id". This column will link the cashup with the cash management transactions.

Changes in Process Cashup Synchronization process

Currently this process is only executed when the Cashup process is done manually by the user in the Web Pos. This project will change this approach, the cashup close is going to be executed in every synchronization and the process will detect if it is only a Synchronization event or if the user is doing the cashup process. If the user is manually doing the cashup, all the financial transactions in the backoffice will be done, as it is currently doing.

After this improvement, the cash managements will be find using the cashup id instead of using the cash management list coming from the WEBPOS.

Main changes in Web POS


Retrieved from ""

This page has been accessed 2,551 times. This page was last modified on 18 August 2014, at 12:23. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.