> ## 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.

# Creating or Modifying AutoBills with Pre-Authorization

Subscribe provides the ability to separately pre-authorize a payment method, using `Transaction.auth()`, and then later pass the authorized transaction to `AutoBill.update()` or `AutoBill.modify()` for capture. This is useful if you have a workflow fulfillment process that you need to complete before the subscription is finalized, but you do not want to start fulfillment unless you can validate the customer’s ability to pay for the subscription. This feature enables you to verify and reserve full funds in advance, then create or modify a subscription at some arbitrary later date without having to cancel the prior authorized or submit a new one. You simple perform a `Transaction.auth()` for an amount sufficient to cover the subscription, then, when you are ready to create or update the subscription, input the transaction ID of the `auth`. Subscribe ensures that the authorized amount is equal to or greater than the immediate charge. If it is, that authorization is provided with the transaction capture request for the first AutoBill transaction, and no new `auth` is performed.

For `AutoBill.update()`, the flow is as follows, authorizing $30.00 for an AutoBill charge of $25.00:

```

 #--update
 $tx = Transaction->new()→auth( 30.00 )
 $ab = AutoBill→new( 25.00 );
 $ab→update( $tx ); #use the pre existing auth’d Tx to charge
```

For `AutoBill.modify()`, the flow is as follows, again authorizing $30.00 for an AutoBill charge of $25.00:

```

 #--modify
 $tx = Transaction->new()→auth( 30.00 )
 $ab = AutoBill→new( 25.00 )->update();
 $ab→modify( 30.00, $tx ); 
 #use the pre existing auth’d Tx to charge, modify left with $5, 
 authed_tx has $25 and can be used to charge.
```

**Parent topic:**[Creating AutoBills](../topics/Creating_AutoBills)


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