Hi Square Team,
I'm investigating a workflow for a client and would appreciate clarification on whether this is supported by the Square API.
We use Square Invoices and Orders for service jobs.
Current workflow:
Create a job and initial invoice/order.
Customer pays a deposit.
Technicians perform work and may add 15–20 additional products/items while on-site.
Those additional items need to be pushed into Square to:
Update the customer balance due.
Relieve inventory correctly.
Avoid manual re-entry of technician-added items.
After a deposit has already been collected on an invoice, we'd like to programmatically add new line items to the job and have those items reflected on the customer's remaining balance.
Example:
Original Invoice
Pool Service: $2,000
Deposit Collected: $500
During the job, technicians add:
Chemical Treatment: $150
Replacement Part: $300
Desired final balance:
Original Service: $2,000
Additional Items: $450
Deposit Applied: -$500
Balance Due: $1,950
If an invoice has been created and is already associated with an order, can the order be updated with additional line items after:
the invoice has been published?
a partial payment/deposit has been collected?
If not, is there any supported API workflow for increasing the invoice total after a deposit has been collected?
Has anyone successfully implemented a workflow where technician-added items are appended to an existing partially paid invoice/order?
If modifying the original order is not supported, is the recommended approach:
Create a second order/invoice for the additional items?
Create a new final invoice containing all items and apply the deposit as a credit?
Some other supported pattern?
We're planning to test the following sequence:
Create Order
Create Invoice linked to Order
Publish Invoice
Collect partial payment/deposit
Attempt to update the Order with additional line items
Attempt to update the Invoice to reflect the new charges
Before implementing a production workflow, we'd like confirmation on whether this use case is supported and, if not, what Square recommends as the best-practice approach.
Any guidance, documentation references, or real-world implementation examples would be greatly appreciated.
Thank you.
Hey @sdtdent ,
I don't think the Square Invoices API allows amount of an invoice to be changed. However, I think you can accomplish the workflow you are looking for with the Orders API. An Order can be `OPEN` and partially paid and other things can be added to it. If you are working with service provider that expects to give customers an invoice, your client application might have to create the invoice while create an "order" in Square.
Square Community
Square Products