The Payments module tracks the money coming in against the invoices going out. Each payment record links a customer to a date, amount, payment type, and optional deposit details — letting you filter between undeposited cheques, cleared bank transfers, and everything in between directly from the P&D (Payments & Deposits) sheet. The Balance sheet brings invoices and payments together into a single per-customer ledger view, and editing or deleting a payment can be triggered from either tab.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/arsinousltd-sudo/Arsinous-V8-Sales/llms.txt
Use this file to discover all available pages before exploring further.
The P&D Sheet
The P&D sheet displays payments in reverse chronological order (most recent first). Data rows begin at row 7; rows 1–6 contain the filter controls that drive the query.| Column | MySQL field | Description |
|---|---|---|
| A | id | Payment record ID |
| B | date | Payment date |
| C | name | Customer name (from JOIN with customers) |
| D | num | Payment reference number |
| E | deposit_date | Date the payment was deposited (nullable) |
| F | deposit_num | Deposit reference number |
| G | amount | Payment amount |
| H | comments | Free-text notes |
Filter Controls
| Cell | Filter | Effect |
|---|---|---|
| C1 | Start date | Lower bound of the payment date range |
| C2 | End date | Upper bound of the payment date range |
| E1 | Deposit filter type | "Payments w/o Deposits", "Payments with Deposits", or all |
F4 (read as data[3][5]) | Customer ID | Filter to a single customer; leave blank for all |
The P&D sheet has an
onEdit trigger: editing cells C1, C2, E1, or C4 automatically calls updateCustomersPayments() and refreshes the data. You do not need to use the menu — just change a filter value and the sheet updates itself. Note that C4 is the trigger cell; the customer ID value the query uses is read from F4 (data[3][5] in the sheet’s 0-based value array).Syncing Payments
updateCustomersPayments() reads the filter cells, builds a dynamic SQL query, and writes results starting at row 7:
Creating a Payment
Open the payment dialog
Click New Payment in the sidebar or go to Arsinous menu → Add Payment. This calls
showPayment(null), which opens an 800 × 350 px Vue.js/Buefy modal titled Create Customer Payment. The modal fetches the full customer list from MySQL on mount.Select a customer
Use the Customer autocomplete to find and select the paying customer. The Save button remains disabled until a customer is chosen.
Fill in payment details
Complete the required fields:
- Type — select from
Payment,Credit Note, orDebit Note - Payment number (
num) — your internal reference or cheque number - Date — defaults to today; use the date-picker to change
- Amount — numeric field in euros (step 0.01)
- Comments — optional free-text notes
- Deposit number (
deposit_num) — bank deposit reference - Deposit date (
deposit_date) — date deposited; clearable if not yet deposited
Save the payment
Click Save. The dialog calls
saveCustomerPaymentToDb(data), which inserts a new row into customers_payments:Editing a Payment
Payments can be edited from either the Balance sheet or the P&D sheet: From the Balance sheet:- Select the row where
type = "Payment"(row must be at or below row 4). - Go to Arsinous menu → Edit Payment. This calls
selectPaymentToEdit(). selectPaymentToEdit()readsidfrom column A andtypefrom column C, validates thattype == "Payment", then callsshowPayment(id).
- Select any data row (row 7 or below).
- Go to Arsinous menu → Edit Payment.
selectPaymentToEdit()validates that the active sheet isP&Dand the row is a valid data row, then callsshowPayment(id).
getAllFromDB('customers_payments', "WHERE id=" + id), and pre-fills all fields. After editing, clicking Save runs:
Deleting a Payment
Deletion is available from the Balance sheet (wheretype = "Payment"):
- Select the payment row.
-
Go to Arsinous menu → Delete Payment.
selectPaymentToDelete()validates the row, then shows a confirmation dialog displaying the payment type, date, and amount. -
Confirm the deletion.
deleteCustomerPayment(id)executes: -
updateCustomersPayments()is called automatically to refresh the P&D tab.
Payment Fields Reference
Foreign key to the
customers table. Set via the customer autocomplete in the modal.Payment classification. Free-text in the database but the modal provides a dropdown with:
Payment, Credit Note, Debit Note.Date of the payment. Defaults to today in the modal.
Payment amount in euros.
Payment reference number (cheque number, transfer reference, etc.).
Date the payment was deposited to the bank. Nullable — leave blank for undeposited payments. Used by the
"Payments w/o Deposits" filter to show outstanding items.Bank deposit slip or batch reference number.
Optional free-text notes about this payment.