> ## Documentation Index
> Fetch the complete documentation index at: https://docs.slm.m1amdocs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Advance and Arrears Billing Option for AutoBills

Subscribe provides the ability to specify a regular billing in advance of, or after, the scheduled Service Period start date.This feature allows you to maintain the service dates according to the Billing Plan, but to bill for those periods on days of the month that are more compatible with your internal billing or accounting cycles.

The `AutoBill.update()` and `AutoBill.migrate()` SOAP API methods (in releases 19.0 and higher) support this feature with two Data Members that govern this behavior for individual AutoBills.

* `specifiedBillingDay:` an integer (1-31) specifying the day of the month on which to bill (values 29-31 automatically work as the last day of the month for calendar months that do not have 29, 30, or 31 days). Providing no value or null in this parameter instructs Subscribe to bill on the service period start date (the default).
* `billingRule:` an enumerated string value (`Advance` or `Arrears`), informing Subscribe in which direction from the scheduled billing date to select the specified billing date. If no `specified_billing_day` is provided, this parameter is ignored.

If, on June 1, 2016, you created a new subscription (AutoBIll) with a `startTimestamp` of `2016-06-01`, on a monthly billing plan, Subscribe would create a subscription that bills on the first of each month.If you wanted instead to bill in advance for this subscription on the 25th of each month, you would create it as shown in the following example.

```
// bill on the 25th of each month for a service that started on the first of the month
  $specified_billing_day = 25;
  $billingRule = 'Advance';
  $autobill->specifiedBillingDay($specified_billing_day);
  $autobill->billingOffset($billingOffset);
```

This would cause Subscribe to bill immediately for the June service period—to bring it up to date—and to bill again on June 25th for the July service period. The Service Period for July and all subsequent months of the subscription would run from the 1st to the 31st, or to the end of the month for months with fewer than 31 days.

Billing and Retry schedules are governed by the `specified_billing_day`. Service Periods, Entitlement and the grace period are all calculated based on the Service Period dates. You establish these parameters at creation, using `autobill.update()`, and can modify them later, also using `autobill.update()`—you cannot change them using `autobill.modify()`.

**Parent topic:**[Modifying AutoBills](../topics/Modifying_AutoBills)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.