Charge accounts, also referred to as accounts receivable (A/R), allow a customer to run a tab. It could be used to staff, to keep track of internal store transfers and purchases, or for general members.
There are two major things to keep track of: the customer's charge limit and the customer's current balance. The customer's charge limit is the maximum tab they're allowed to run up. The customer's current balance is the sum of charge activity in the history of the account. It may be helpful to understand some underlying details of the latter.
When a customer charges a purchase their balance increases; when a customer makes a payment on their account their balance decreases. All charges and payments need to be logged in the
ar_history table. By convention this table should contain everything but the current day's activity. At any given moment a customer's balance is the sum of the activity in this table plus any activity from the current day. This is listed in the
ar_live_balance view. There are some additional views and tables involved, all starting with
ar_, which do some caching for faster responses as well as aggregate the current day's activity.
You need to create a department for paying balances. Any purchase in this department will lower a customer's balance. Go to the Members tab of Office's configuration and enter this department number under Store Charge Department(s). After saving a few views are recreated using the specified department(s) to track balances. Also while on this page enable the AR membership information module. This will display the member's current balance and make their charge limit editable.
Next go to scheduled tasks and enable the AR History task. This manages the
ar_history table (see The Data above). This task should run nightly. It's important that this task run after the Transaction Archiving task so that archived transaction data is up to date. You may also want to enable the legacy LanePush/UpdateCustBalance task. The lane does not contact the server to check account balances but rather checks its own local database (mostly for performance reasons). The more often this task is run the more up-to-date those lane side balances will be. Every 5 or 10 minutes is sufficient in most cases.
On the Scanning tab of the lane's configuration enter the same payment department number under AR Department(s). On the Extras tab make sure the
MI tender is mapped to either
SignedStoreChargeTender. These will enforce the customer's charge limit. The latter makes use of a card terminal with signature capture capability rather than using a paper slip.
BQ at the lane to view a customer's balance. Use the
MI tender to charge purchases. Typically open rings to the payment department are used to pay balances although you could theoretically create items in that department too.
In Office's membership correction & adjustment tools charges and payments can be transferred from one customer to another. In this context a negative payment is identical to a charge.
You currently do have to use
MI as the charge tender. Using something else won't be tracked correctly.