Payments don't always match invoices to the penny. A customer's bank might take a £3 fee, an exchange rate might move slightly, or a customer might pay a little too much or too little.
On its own, a rule only completes a match when the amounts are exactly equal. Even 1p out, and the payment is left for you to check. Adjustments tell the rule what to do with small differences like these, so it can finish the match for you.
On screen, the difference is called the residual:
Under-payment: you received less than the invoices are worth.
Over-payment: you received more than the invoices are worth.
What an adjustment can do
Situation | Choose | What happens |
The customer's bank took a fee | Under-payment → Create adjustments journal entry → Bank fee | The difference is booked to your processing-fees account. |
The exchange rate moved | Under- or over-payment → Create adjustments journal entry → FX rate | The difference is booked to your FX variances account. |
The customer took an early-payment discount | Under-payment → Create adjustments journal entry → Early-payment discount | The difference is booked to your discounts account. |
The customer paid a little too much and you don't want to keep it on their account | Over-payment → Write off to GL account | The extra is written off to your write-off account. |
The customer paid too much and you want to keep it as credit | Over-payment → Leave unapplied on customer | The invoices are paid in full, and the extra stays on the customer's account as an unapplied payment. |
The customer paid short | Under-payment → Apply as partial payment | The whole payment is applied, and the invoice due last stays open for the amount still owed. |
Add an adjustment
In the rule builder, go to Adjustments and click Add adjustment.
When residual is: choose Under-payment or Over-payment.
Action: choose what to do with the difference. You'll only see the actions that make sense for the direction you picked.
Only when residual size is: choose how big a difference this adjustment should cover, and enter the amount or percentage. See the next section.
Type: for a journal entry, choose Bank fee, FX rate or Early-payment discount.
Memo template (optional): the memo that appears on the journal entry in NetSuite. See Memo template below.
Click the arrow on an adjustment to fold it into a one-line summary, like Under-payment · Create adjustments journal entry · Up to 10 · Bank fee.
Set how big a difference to cover
Set a limit so the rule never books a large difference by mistake:
Option | Covers a difference of… |
Up to a fixed amount | up to the amount you enter, for example £10. |
Up to a % of the invoice | up to the percentage you enter, for example 1%. |
Whichever is greater of amount or % | up to whichever of the two is bigger. |
Up to a fixed amount or a % of the invoice, whichever is lower | up to whichever of the two is smaller. |
Custom range between two amounts | anything between the two amounts you enter. |
Any amount | any size. Only available for Leave unapplied on customer and Apply as partial payment, because journal entries and write-offs always need a limit. |
Amounts are in the bank account's currency. Percentages are worked out on the invoices in the match, before any credit notes are taken off.
Using more than one adjustment
You can add several adjustments to one rule. Kolleno checks them from top to bottom and uses the first one that fits, so put the most specific one first.
Example: ACME's bank usually takes a small fee, but sometimes ACME also pays short.
Under-payment · Create adjustments journal entry · Up to 10 · Bank fee
Under-payment · Apply as partial payment · Any amount
A payment £4.50 short is booked as a bank fee. A payment £300 short is applied as a part-payment, and the last invoice stays open for £300.
Before you start: map your GL accounts
Journal entries and write-offs post to NetSuite, so Kolleno needs to know which accounts to use. If an account isn't mapped, the rule won't post the match. It leaves the payment for you to check instead.
To check, an administrator opens the bank account in Reconciliation, clicks the gear icon and chooses Map bank account. Under Map your accounts, make sure these are filled in:
Bank ledger and Accounts receivable: always needed;
Processing fees: for bank fees;
Variances: for FX differences;
Write off: for write-offs.
Memo template
The memo template controls what the journal entry or write-off says in NetSuite. Leave it blank to use the standard memo.
To get started, copy this example, which shows who paid, when, and which invoices were involved:
Bank fee - {{counterparty}} {{date}} - {{invoice__refs}}
You can use these placeholders, which Kolleno fills in for each payment:
{{counterparty}}: who paid;{{date}}: the payment date;{{customer}}: the customer the payment was matched to;{{invoice__refs}}: the invoice numbers in the match;the payment's own details, such as
{{reference}}and{{amount}}.
If you see a message
With no adjustments, the builder shows No adjustments. Any residual will leave the transaction open. That's expected: any payment that's even a penny out will wait for you.
These stop you saving until you fix them:
Enter a positive number for every bound of this residual size.
The lower bound must not exceed the upper bound.
Create adjustments journal entry needs a size limit, so "Any amount" is not allowed. (The same applies to Write off to GL account.)
Choose a journal entry type.
Adjustment 1 covers every residual this row does, so this row can never apply. The adjustment above already covers everything this one does. Move the narrower one up, or change the limits.
These are just warnings. The rule still saves, but check the order of your adjustments:
Adjustments 1 and 2 (under-payment) overlap on some residuals; the first row that fits wins.
Adjustments 1 and 2 (under-payment) may overlap depending on the invoice amount; the first row that fits wins.




