| name | repairshopr-invoiceline-item |
| description | Manage line items on an existing invoice (update or delete) |
| license | MIT |
| compatibility | opencode |
| metadata | {"audience":"accountants, technicians, administrators","api":"PUT /invoices/{id}/line_items/{line_item_id}, DELETE /invoices/{id}/line_items/{line_item_id}, POST /invoices/{id}/line_items"} |
What I do
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.
When to use me
Use this when:
- Adding an additional charge or part to an invoice after creation
- Correcting a line item price or quantity
- Removing an item from an invoice
- Adjusting invoice totals by modifying line items
How to use
Required API base URL:
VITE_REPAIRSHOPR_SUBDOMAIN
VITE_REPAIRSHOPR_API_KEY
Permissions: "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/code
name (string) - Item description
price (number) - Unit price
quantity (number) - Quantity (default 1)
cost (number) - Cost (optional)
taxable (boolean) - Whether item is taxable
discount_percent, discount_dollars (number) - Discounts if any
Update Line Item (PUT /invoices/{id}/line_items/{line_item_id})
id (integer) - Invoice ID
line_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 ID
line_item_id (integer) - Line item ID to delete
Example call:
await skill({ name: "repairshopr-invoiceline-item" }, {
item: "LABOR",
name: "Additional diagnostic time",
price: 85,
quantity: 1.5,
taxable: false
}, { id: 456, method: 'POST', pathParams: {} })
await skill({ name: "repairshopr-invoiceline-item" }, {
price: 125,
quantity: 2
}, { id: 456, line_item_id: 789, method: 'PUT', pathParams: { line_item_id: 789 } })
await skill({ name: "repairshopr-invoiceline-item" }, {},
{ id: 456, line_item_id: 789, method: 'DELETE', pathParams: { line_item_id: 789 } }
)
Response includes:
- POST returns
line_item object with full details
- PUT returns updated
line_item object
- DELETE returns removed
line_item object
Important
- Invoice must exist and be editable
- Updating line items affects invoice totals automatically
- Line item
item field is required when adding; cannot be blank
- Deleting a line item is irreversible
- Invoice may become non-editable if marked as paid (depending on settings)
Related skills
repairshopr-invoice - Main invoice operations
repairshopr-estimate - Similar line item operations for estimates
repairshopr-payment - To apply payments to invoices