# Invoice Schedules Use invoice schedules to trigger invoice generation processes. For more information about invoice schedules, see Billing Schedule overview. ## Create an invoice schedule - [POST /v1/invoice-schedules](https://developer.zuora.com/v1-api-reference/api/invoice-schedules/post_createinvoiceschedule.md): Creates an invoice schedule. ### Limitations This API operation has the following limitations: * You can create at most 50 invoice schedule items in one request. * You can associate at most 10 orders with an invoice schedule in one request. * You can associate at most 300 subscriptions with an invoice schedule in one request, including those contained in orders and separate subscriptions. Note: This operation is available only if you have the Billing Schedule feature enabled. ## Delete an invoice schedule - [DELETE /v1/invoice-schedules/{scheduleKey}](https://developer.zuora.com/v1-api-reference/api/invoice-schedules/delete_invoiceschedule.md): Deletes an invoice schedule in Pending status. The status of the invoice schedule to be deleted must be Pending. Note: This operation is available only if you have the Billing Schedule feature enabled. ## Retrieve an invoice schedule - [GET /v1/invoice-schedules/{scheduleKey}](https://developer.zuora.com/v1-api-reference/api/invoice-schedules/get_invoiceschedule.md): Retrieves detailed information about an invoice schedule. Note: This operation is available only if you have the Billing Schedule feature enabled. ## Update an invoice schedule - [PUT /v1/invoice-schedules/{scheduleKey}](https://developer.zuora.com/v1-api-reference/api/invoice-schedules/put_updateinvoiceschedule.md): Updates a pending invoice schedule. You can use this API operation to update invoice schedules in the following aspects: - Update notes and pending invoice schedule items - Update orders associated with invoice schedules - Remove or add invoice schedule items For more samples, see Edit invoice schedules ### Restrictions and limitations When updating invoice schedules through the REST API, keep the following restrictions and limitations in mind: - You can only update invoice schedule items in Pending status. - You can only add orders or specific subscriptions to pending invoice schedules, and remove orders or specific subscriptions from pending invoice schedules. - For the invoice schedule items that you want to update, you must include the new values for these items in the request. - For the invoice schedule items that you want to keep unchanged, you must include all the existing information about these items in the request. Otherwise, the existing invoice schedule items that you do not include in the request are deleted. - For the orders that you want to keep unchanged for an invoice schedule, you must include all the existing order numbers associated with the invoice schedule in the request. Otherwise, the existing orders that you do not include in the request are removed. Note: This operation is available only if you have the Billing Schedule feature enabled. ## Execute an invoice schedule - [POST /v1/invoice-schedules/{scheduleKey}/execute](https://developer.zuora.com/v1-api-reference/api/invoice-schedules/post_executeinvoiceschedule.md): Executes an invoice schedule immediately. During the execution, a bill run is created and generates an invoice or a credit memo asynchronously. When you use this API operation to execute an invoice schedule item, you have the flexibility to decide whether to specify a specific item ID. - If you specify the unique ID of an invoice schedule item to be executed in the request, the corresponding invoice schedule item is executed. - If you do not specify the ID of any invoice schedule item in the request, the subscription end date is used as the target date to determine the next pending schedule item to be executed. A paused invoice schedule and charges inside cannot be automatically executed by Zuora Scheduler or by this "Execute an invoice schedule" API operation. In this case, you can do one of the following: - Use the Generate billing documents by account ID API operation - Create a bill run with the target date greater than the next run date of the invoice schedule through UI or API For more samples, see Execute invoice schedules. Note: This operation is available only if you have the Billing Schedule feature enabled. ## Pause an invoice schedule - [PUT /v1/invoice-schedules/{scheduleKey}/pause](https://developer.zuora.com/v1-api-reference/api/invoice-schedules/put_pauseinvoiceschedule.md): Pauses an invoice schedule immediately. A paused invoice schedule and charges inside cannot be automatically executed by Zuora Scheduler or by the Execute an invoice schedule API operation. In this case, you can do one of the following: - Use the Generate billing documents by account ID API operation - Create a bill run with the target date greater than the next run date of the invoice schedule through UI or API Note: This operation is available only if you have the Billing Schedule feature enabled. ## Resume an invoice schedule - [PUT /v1/invoice-schedules/{scheduleKey}/resume](https://developer.zuora.com/v1-api-reference/api/invoice-schedules/put_resumeinvoiceschedule.md): Resumes an invoice schedule in Paused status immediately. After an invoice schedule is resumed, it can continue to be automatically executed by Zuora Scheduler or by the Execute an invoice schedule API operation. Note: This operation is available only if you have the Billing Schedule feature enabled. ## Detach charges from an invoice schedule - [PUT /v1/invoice-schedules/{scheduleKey}/detach](https://developer.zuora.com/v1-api-reference/api/invoice-schedules/detachchargesfrominvoiceschedule.md): Detaches charges from an invoice schedule. The invoice schedules you want to detach charges from must be in Fully Processed or Partially Processed status. Invoice schedules do not bill detached charges. ## Attach charges to an invoice schedule - [PUT /v1/invoice-schedules/{scheduleKey}/attach](https://developer.zuora.com/v1-api-reference/api/invoice-schedules/attachchargestoinvoiceschedule.md): Attaches charges to an invoice schedule. The invoice schedules you want to attach charges to must be in Fully Processed or Partially Processed status. You can attach charges only if they were previously detached from the same invoice schedule. Invoice schedules will automatically bill re-attached charges in the upcoming planned invoice schedule items.