Receivables

Selling on credit (utang), tracking who owes you what, collecting payments, and what happens when you void a credit sale that was already paid.

9 min read · Updated 10 Sep 2026

On this page

Selling on credit means finishing a sale without taking the money. The amount goes on the customer's account and you collect it later. Kassly calls the whole of that machinery Accounts Receivable, and it is live — the pages below are the ones you will actually see.

Needs accounts receivable, which comes with the Cash Drawer & Expenses add-on (₱300 per branch each month), the B2B Sales Orders add-on (₱300), the Consignment add-on (₱300), or any bundle including one of them. Owners and managers only — a cashier can put a sale on credit at the counter but cannot open the Receivables pages.

"Credit" means two opposite things — get this straight first

This is the single easiest thing in Kassly to get backwards, so before anything else:

What you see What it actually is Direction
Credit — the tender at checkout Charging the sale to the customer's account. Utang The customer now owes you more
Store Credit — a refund method on a return Money you owe the customer, held against their account You owe them

They are opposites, and they move the same number in opposite directions.

Kassly's own labels are inconsistent here, and you need to know it. At the counter the tender is called Credit. On the web Transactions list and in the report filters, that same tender is labelled Store Credit. It is not store credit. A sale filed under "Store Credit" in the transactions list charged the customer's account — it did not spend anything.

Real store credit only ever comes from choosing Store Credit as the refund method on a return or a void. It shows up as a negative balance on the customer, and the next credit sale eats into it.

One practical consequence: a customer sitting on store credit has a negative balance, and the Accounts Receivable list only shows customers who owe you something. They will not appear there. Open their record from Customers instead.

Putting a sale on credit

At checkout, pick Credit as the payment method. Three conditions are enforced:

  • A customer must be attached. No customer, no credit.
  • You must be online. Credit is the one tender Kassly refuses offline: "Credit payments require an internet connection." If any leg of a split payment is credit, the whole sale is blocked until you reconnect.
  • The charge must fit inside the customer's limit.

Only the credit portion is checked against the limit, not the whole bill, so a part-cash, part-credit sale is judged on the credit part alone. The mechanics of the checkout screen are in Payments.

The charge is recorded against the receipt, so the sale, the receipt and the balance all point at each other.

Credit limits

A limit of ₱0 means No limit — not "no credit". That is the default, and it is what every customer has.

There is no field anywhere for setting a credit limit. Not on the customer form, not on the counter sheet, not on the Receivables pages. The limit is displayed in several places and enforced properly when it is set, but nothing in the dashboard or the app can set it. In practice every customer is on No limit, and the discipline about how much utang to allow is yours, not the software's.

Payment terms and what "overdue" means

The customer edit dialog has a Payment terms (days) box.

Terms typed into that box are not saved. The page reports success and the value is discarded. Nothing in Kassly stamps a due date onto a credit charge either.

So overdue is measured from the day the charge was made, and the rule is a flat 30 days. A charge more than 30 days old counts toward Overdue Amount and lands in an aging bucket accordingly. If your store works on 15-day or 45-day terms, the aging columns will not match your own reckoning.

The Accounts Receivable page

Sales → Receivables. Four figures across the top:

Card What it counts
Total Receivables Everything currently owed to you
Overdue Amount The part more than 30 days old
Customers with Balance How many people owe you something
Collection Rate (30d) Payments collected in the last 30 days as a percentage of charges made in the same period

Then Aging Summary, in four buckets — Current, 31 - 60 days, 61 - 90 days, 90+ days — each showing an amount and a customer count. Then a Post-Dated Cheques panel with Cheques On Hand and Due This Week, which is a shortcut into Post-dated cheques.

The table below lists every customer who owes you, with Customer, Phone, Balance, Credit Limit, Oldest Charge and Last Payment. Search by name or phone. Click a row to open their ledger.

The customer ledger

Customer Ledger is the statement. Three cards — Current Balance, Credit Limit, Available Credit — over a table of every charge and payment:

Column Meaning
Date When it happened
Type Charge or Payment
Amount The full amount of that entry
Outstanding On a charge, how much of it is still unpaid
Method How a payment was taken
Reference Receipt number on a charge; your own reference on a payment
Notes
Balance The running balance after that line

Filter by date with From and To. A date-filtered statement opens with the balance carried in from before the period, so the running balance still adds up.

A red bounced cheque badge appears above the table once a customer has bounced one on you. It is a warning only — Kassly never blocks a sale because of it.

If the customer has cheques you are still holding, a Cheques on hand panel lists them, labelled "Not yet cleared — excluded from the balance above." That exclusion is deliberate: a cheque is a promise, and the balance only moves when it clears.

Collecting a payment

Collect Payment on the ledger opens a dialog showing the outstanding balance, then:

Field Required Notes
Amount Yes Cannot exceed the outstanding balance
Payment Method Yes Cash, Card, GCash, Maya, Bank Transfer
Reference No "e.g. GCash ref #, check number"
Notes No

Two rules to know:

  • Overpaying is refused: "Amount cannot exceed the outstanding balance" in the dialog, and "Payment amount exceeds outstanding balance." from the server.
  • A cash collection needs an open shift: "Open a shift before collecting cash payments. Non-cash methods can be recorded without an open shift." That is because cash physically enters the drawer and has to reconcile at close. A bank transfer notification arriving in the back office does not.

The payment is applied to the oldest unpaid charge first, then the next, and so on. You do not pick which charge it settles.

Collecting from the app

The app has a Receivables screen with the same customer list and a Collect Payment sheet — Cash, GCash, Maya, Card, Bank, with the reference marked "Required for digital payments". It prints a collection receipt on a paired printer.

This screen needs a connection. Offline it shows an amber banner: Offline — "Reconnect to load balances and collect payments." Balances change from other terminals, so Kassly would rather show you nothing than a stale figure you might collect against.

Without the add-on the screen says "Receivables add-on not enabled" — "Enable the Accounts Receivable add-on to track customer balances and collect payments from this device."

Voiding a credit sale the customer already paid

This is the case worth reading twice. A credit sale can be part-collected — the customer paid ₱500 of a ₱2,000 charge — and then the sale turns out to be wrong. Voiding it has to do two different things with two different pots of money.

Voiding a sale is done in the app — the web dashboard has no void action. When you void a sale that went on credit, the app asks under Charged to account: "If the customer already paid, choose how to return it. Unpaid credit is simply cancelled." Two buttons:

Choice What happens to the part already paid
Refund cash Handed back out of the drawer, and recorded as a refund so the shift still reconciles at close
Store credit Left on the customer's account as a negative balance. Their next credit purchase spends it

Either way, the part they had not yet paid is simply cancelled — it stops being a receivable.

Two things constrain the choice:

  • A cash refund needs an open shift. Without one you get "Open a shift to refund cash on a void, or choose store credit instead." Kassly refuses rather than quietly turning your cash refund into store credit.
  • A void that goes through manager approval always settles as store credit, whatever was picked when it was requested. The request records the preference for the approver to see, but a cash refund needs somebody standing at the drawer, and the approver may be elsewhere. If cash back matters, have the manager void it directly.

Voiding is covered more generally in Returns and refunds.

Where the money shows up

Event Effect
A credit sale No money moves. The customer's balance owed goes up
A cash collection Expected drawer cash goes up, reconciled when you close the shift
A non-cash collection Recorded against the customer. No drawer effect
A cleared cheque Reduces the balance owed. No drawer effect — it is a bank event, and X and Z readings are untouched

See Closing a shift for how a collection reaches the drawer count.

What prints

A credit sale prints Payment on Account on the receipt. Once your store is BIR-accredited it prints as a CHARGE INVOICE rather than a CASH INVOICE, because the document type follows how it was paid. See Receipts.

What Kassly does not do here

  • No emailed or posted statements. The ledger is a screen. There is no statement PDF, no send button, and no scheduled monthly statement run.
  • No interest, penalties or finance charges on an overdue balance.
  • No collection reminders. Kassly does not chase your customers.
  • No write-off action on a bad receivable. A balance stays on the ledger until it is collected, or a cheque against it is written off.
  • No credit hold. Exceeding a limit blocks that one sale; it does not flag the account.