During testing of the API, if I create a Credit Note, the amount is automatically refunded from my bank account statement. How can I stop this action and instead leave the credited amount on hold or as a prepayment in the client’s account?
Are you passing a ParentInvoiceId? According to the API docs you should be able to set the CreditNoteType to HOLD to hold on account or VOID to reduce any unpaid balance on the parent invoice, but if the API is anything like the website then credits without a parent invoice can only be refunds, not holds.
No, I’m not setting a ParentInvoiceId. The test-case scenario is that we have just credited a job that was paid for in advance but was then cancelled, but the client said to keep the funds as a prepayment for the next job. So we issue a credit note to square the paperwork but we want to keep the client’s account in credit. I believe that this can be done from the UI but I’m not sure about the API. I will try setting CreditNoteType to HOLD - thanks.
QF Gateway Error: VOID or HOLD type credit note must supply a parent invoice id.
I guess a credit note cannot be put on hold from the API unless it has an associated invoice then! Is anyone able to confirm this please?
If they pre paid but you haven’t yet invoiced them then there’s nothing to credit. They made a payment on account and that payment will stay on their account until you assign it to an invoice for their next job.
If you want to send them anything at this stage it’d just be a statement of their account showing the prepayment they’d already made.
If you had invoiced them for the cancelled job then you’d make a credit note with that as the parent invoice ID and either hold on account (if you’ve assigned their prepayment to that invoice) or void (if that invoice was showing as unpaid).
That’s not specific to the API, the web UI behaves the same way.
Yes, you’re right, thanks - what you say is logical. I am mirroring my own accounts system (invoice-by-invoice, purchase-by-purchase, client-by-client etc.) to QuickFile to be able to comply with MTD without having to get my own system ‘HMRC Recognised’. I have a very long list of test scenarios that I have worked my way through e.g. (in my system) create a part-paid invoice for a new client, then part-pay again, then settle, then over-pay (and make sure everything mirrors through to QuickFile to the penny), bug-fixing as I go, and the only thing that I have not been able to do is the subject of this topic. In my system, if I want to issue a credit note without reference to an invoice, I can. But clearly, I can’t mirror that action to QuickFile without introducing an ‘associated invoice ID’ field to credit notes in my own system. It seems like you’ve answered my question, thanks ![]()
Yes, that’s correct.
Via the API, a credit note set to HOLD or VOID must include a ParentInvoiceId. Without a parent invoice, the system treats it as a refund and auto-allocates it to the bank.
So if you want the credit left on account through the API, you must link it to an invoice. Otherwise, you’ll need to handle it manually in the UI.