Manage line items on an existing invoice (update or delete)
I manage line items on an existing invoice. I can update a line item's details (price, quantity, name, etc.) or delete a line item entirely. I can also add new line items to an invoice.
Use this when:
Required API base URL:
VITE_REPAIRSHOPR_SUBDOMAINVITE_REPAIRSHOPR_API_KEYPermissions: "Invoices - Edit" for all operations.
Add Line Item (POST /invoices/{id}/line_items)
id (integer) - Invoice ID
Body includes line item fields:item (string) - Item identifier/codename (string) - Item descriptionprice (number) - Unit pricequantity (number) - Quantity (default 1)cost (number) - Cost (optional)taxable (boolean) - Whether item is taxablediscount_percent, discount_dollars (number) - Discounts if anyUpdate Line Item (PUT /invoices/{id}/line_items/{line_item_id})
id (integer) - Invoice IDline_item_id (integer) - Line item ID
Body includes any updatable line item fields (item, name, price, quantity, cost, taxable)Delete Line Item (DELETE /invoices/{id}/line_items/{line_item_id})
id (integer) - Invoice IDline_item_id (integer) - Line item ID to deleteExample call:
// Add a line item to an existing invoice
await skill({ name: "repairshopr-invoiceline-item" }, {
item: "LABOR",
name: "Additional diagnostic time",
price: 85,
quantity: 1.5,
taxable: false
}, { id: 456, method: 'POST', pathParams: {} })
// Update an existing line item
await skill({ name: "repairshopr-invoiceline-item" }, {
price: 125,
quantity: 2
}, { id: 456, line_item_id: 789, method: 'PUT', pathParams: { line_item_id: 789 } })
// Delete a line item
await skill({ name: "repairshopr-invoiceline-item" }, {},
{ id: 456, line_item_id: 789, method: 'DELETE', pathParams: { line_item_id: 789 } }
)
Response includes:
line_item object with full detailsline_item objectline_item objectitem field is required when adding; cannot be blankrepairshopr-invoice - Main invoice operationsrepairshopr-estimate - Similar line item operations for estimatesrepairshopr-payment - To apply payments to invoices