| name | repairshopr-schedule |
| description | Manage recurring invoice schedules in RepairShopr |
| license | MIT |
| compatibility | opencode |
| metadata | {"audience":"accountants, administrators","api":"GET /schedules, POST /schedules, GET /schedules/{id}, PUT /schedules/{id}, DELETE /schedules/{id}, POST /schedules/{id}/add_line_item, POST /schedules/{id}/remove_line_item, PUT /schedules/{id}/line_items/{schedule_line_item_id}"} |
What I do
I manage recurring invoice schedules. Schedules automatically generate invoices on a regular basis (daily, weekly, monthly, etc.). They are useful for service contracts or subscription billing where the same invoice is sent repeatedly. I can create, view, update, delete schedules and manage their line items.
When to use me
Use this when:
- Setting up automatic recurring billing for a customer
- Managing contract-based invoicing (e.g., monthly maintenance fee)
- Pausing or adjusting a recurring schedule
- Adding or removing line items from a schedule
- Viewing upcoming scheduled invoices
How to use
Required API base URL:
VITE_REPAIRSHOPR_SUBDOMAIN
VITE_REPAIRSHOPR_API_KEY
Permissions:
- "Recurring Invoices - List" for viewing
- "Recurring Invoices - New" for creating
- "Recurring Invoices - Edit" for updating and line item management
- "Recurring Invoices - Delete" for deletion
List Schedules (GET /schedules)
Optional:
customer_id (integer) - Filter by customer
page (integer) - Page number (25 results per page)
Create Schedule (POST /schedules)
Required fields not fully explicit in docs; typical required:
customer_id (integer) - Customer
frequency (string) - Recurrence: "Daily", "Weekly", "Monthly", "Quarterly", "Yearly", etc.
name (string) - Schedule name
next_run (string) - Next invoice date (ISO 8601)
Optional:
email_customer (boolean) - Email invoice automatically
snail_mail (boolean) - Mail paper copy
charge_mop (boolean) - Charge payment method on file
subtotal (number) - Subtotal amount
lines (array) - Line items (though usually added via separate endpoint)
invoice_unbilled_ticket_charges (boolean) - Include unbilled ticket work
paused (boolean) - Pause the schedule
Get Schedule (GET /schedules/{id})
id (integer) - Schedule ID
Update Schedule (PUT /schedules/{id})
id (integer) - Schedule ID
Body fields similar to create, all optional
Delete Schedule (DELETE /schedules/{id})
id (integer) - Schedule ID
Add Line Item (POST /schedules/{id}/add_line_item)
id (integer) - Schedule ID
Body (line item fields):
name (string) - Item name (required)
description (string)
cost_cents / retail_cents or price_cost/price_retail (numbers)
quantity (string/number)
product_id (integer, optional)
taxable (boolean)
user_id (integer)
Remove Line Item (POST /schedules/{id}/remove_line_item)
id (integer) - Schedule ID
Body may include schedule_line_item_id or just the line item ID in body
Update Line Item (PUT /schedules/{id}/line_items/{schedule_line_item_id})
id (integer) - Schedule ID
schedule_line_item_id (integer) - Line item ID
Body fields: name, description, cost_cents, retail_cents, quantity, taxable, etc.
Example call:
const schedule = await skill({ name: "repairshopr-schedule" }, {
customer_id: 123,
name: "Monthly IT Support",
frequency: "Monthly",
next_run: "2024-02-01",
email_customer: true,
subtotal: 299.99
})
await skill({ name: "repairshopr-schedule" }, {
name: "Managed Services - 5 devices",
description: "Monthly network monitoring and support",
retail_cents: 29999,
quantity: 1,
taxable: false
}, { id: schedule.schedule.id, method: 'POST', endpoint: '/add_line_item' })
await skill({ name: "repairshopr-schedule" }, { paused: true },
{ id: schedule.schedule.id, method: 'PUT', pathParams: { : schedule.. } }
)
Response includes:
- Schedule object with
id, customer_id, frequency, next_run, subtotal, lines (line items array), paused, etc.
- Line item operations return
schedule_line_item
Important
- Schedules generate actual invoices on each run date
- If an invoice generation fails, check logs; schedule continues
next_run determines when the next invoice will be auto-generated
paused stops automatic generation without deleting schedule
- Line items define the recurring charges
Related skills
repairshopr-invoice - The generated invoices from schedules
repairshopr-contract - Contracts may be associated but separate
repairshopr-ticket - Some schedules include unbilled ticket charges