Kascado Accounts Receivable for WooCommerce

Kascado Accounts Receivable for WooCommerce

Details
View on WordPress

Database requirement: this plugin stores money in its own tables and relies
on transactions to keep a payment and the invoices it settles consistent with
each other. Those tables must use InnoDB, which is the default on every MySQL
since 5.5 and every MariaDB. On a server configured to default to MyISAM the
tables are created without transaction support and a failure part-way through
recording a payment could leave the entry saved and its allocation missing.

If your store ships before it gets paid, WooCommerce alone cannot tell you what you are owed. An order marked Processing means the goods went out, not that the money came in, and the gap between the two is where a spreadsheet usually appears.

This plugin closes that gap. It watches orders placed through the payment methods you nominate — bank transfer, cheque, cash on delivery, purchase order, anything that defers payment — and records each one as a charge against that customer. When money arrives, you record it, and the balance moves.

What it does

  • An accounts receivable dashboard: total outstanding, how many customers carry a balance, and how much is overdue including the age of the oldest overdue amount
  • A receivables trend chart covering the last six months
  • A customer list showing each account’s balance, company, email and oldest unpaid date, sortable by balance, name or oldest unpaid date
  • Charges created automatically from orders placed with the payment methods you choose
  • Payments recorded against a customer with the amount, the date the money actually arrived, the method, a reference such as a cheque number, and a note
  • Payments applied automatically to the oldest open charges first, which is how B2B receivables are normally settled
  • Credits and write-offs, each requiring a note, and corrections for an entry recorded in error
  • Payment terms for the store — Due on Receipt through NET 120 — giving every new charge a due date
  • A screen for each customer: their balance, the invoices still open against them, and their full history with a running balance
  • Historical import, so orders already in your store can be brought in as charges without duplicating anything — an order that was already refunded arrives as its gross invoice plus each refund as its own dated credit
  • Customer balances exported to CSV

What happens when an order changes

An order is not a fixed document, and the ledger follows what actually happened to it rather than what it looked like on the day it was placed.

  • A refund is recorded as a credit dated the day the refund was issued, not the day the order was placed. Deleting that refund in WooCommerce reverses the credit.
  • Cancelling an order withdraws its charge. Any payment already sitting on that charge is released and applied to whatever else the customer owes, rather than disappearing with it.
  • Editing an order’s total records the difference as its own dated entry — an increase as a charge, a decrease as a credit. The original invoice is left as it was, so the history shows what was billed and when it changed.
  • Orders placed in a currency other than your store’s base currency are left out rather than converted, and the plugin tells you how many, so an absence is never silent.
  • Two payments recorded against the same customer at the same moment cannot interleave: each customer’s entries are written under a lock, so a payment and the invoices it settles are always consistent with each other.

Built for real money

Amounts are stored and calculated as exact whole units of your currency rather than as decimal fractions, so a balance never drifts by a fraction of a penny and a fully paid charge closes at exactly zero. Your currency’s decimal places are respected throughout, including currencies with none such as the Japanese yen and currencies with three such as the Kuwaiti dinar. An amount typed with more precision than your currency allows is reported back to you rather than quietly rounded.

Works with what you already run

Requires WooCommerce. Compatible with High-Performance Order Storage, and every order lookup goes through the WooCommerce API rather than direct database access. Any customer role can be treated as a B2B account, including roles created by other B2B plugins, and an optional filter restricts tracking to the roles you nominate.

Your data stays in your database. The plugin makes no external requests of any kind.

A paid add-on, Kascado Accounts Receivable Pro, adds aging reports, automated payment reminders, credit limits and a customer-facing balance page.

Details

Plugin code:
kascado-accounts-receivable-for-woocommerce
Plugin version:
1.0.0
Author:
Outdated:
No
WP version:
6.0 or higher
PHP version:
8.0 or higher
Test up to WP version:
7.1.3
Total installations:
0
Last updated:
2026-10-08
Rating:
Times rated:
0
accounts-receivable
b2b
invoices
payments
wholesale