Accounts Module

The accounting records should conform to sound accounting practices but it should be easy for users to use. For example being able to reverse a payment, remove a payment, or remove an incorrect accounting entry should be as easy to do as clicking on an “undo” button.

To facilitate good reporting on changes in values and all other activity the Butr system will not ever delete or in-place update any accounting entry. If you want to delete the entry, then a set of reversal records will be added to the system to negate the value of the previous entry.

There will be links back to the entry that is being reversed or modified, and there will be a “deleted” field which will contain a time stamp to denote when the field is deleted (or changed). This is the one field that will be allowed to be updated in place.

The accounting will be stored down to the lowest common denominator, if possible down to passenger on a product level. This will facilitate the reporting at any level. The accounts should be easy to trace – all the way from the passenger on a service right through to the payment for that passenger on that service. This will result in a lot of disk space being used to support this functionality. These days storage is cheap so it is not considered a bad choice.

Accounts for payments and invoices should be done in batches which allows the easy tracking. This also acts as a cross reference to the real transactions which happen in meat-space.

There should be a separate set of accounts for the client or agent, and one for the principals. This will allow the easy tracking of the accounts, and an easy way to figure out profitability.

Users should be able to add fees, discounts and supplier adjustments to accounts. This will be flexible and be able to tracked easily. These fees, discounts and adjustments will be user configurable and will be easy to report on.

The sales tax should be an easy to administer and it should always remember what settings it had when the booking is created. There should be a way to change the sales tax calculation easily. The sales tax needs to be at least aware of the laws in Australia and New Zealand, but be flexible enough for any country. The tax on sale should be controlled per partition.

Likewise the tax on commission calculation should be easy to administer and and it should always remember the settings it has when the booking was created. There should also be a way to have it correct the tax on commission if it was needed to be changed. The tax on commission should be controlled per partition.

The purchase tax should be an easy to administer and it should always remember what settings it had when the booking is created. There should be a way to change the purchase tax calculation easily. The purchase tax needs to be at least aware of the laws in Australia and New Zealand, but be flexible enough for any country. This is used to track GST credits, and whether the product requires tax to be paid (which can be claimed later).

The system should store snapshots of accounts when invoices are prepared for bookings and also for suppliers.

You can have bookings paid as a group payment (one account for the whole booking), or individual payments. The payments should go into an unallocated bucket, which can then be later allocated to pax on services.

There should be an easy way to transfer money between bookings, and to also hold money on file for a client or agent.

Bookings should be costed at Gross (less commission to agent), Net (agent applies their own profit margin). The accounts should handle both these sales models.

There should be the facility to have account control (in particular reversal) needs to reflect Bank Statements.

Ther should be the facility to have multiple bank accounts in various currencies. The bank accounts are for the company who are using Butr.

There should be the facility to Reconcile Bank Balances to Booking Balances. This means that there should be a way of alerting the accounts (in a traceable way) to have the booking reflect the bank account statement.