Right now we call a custom Restlet (which I wrote) that generates the sales orders, and I return back success or failure for each sales order request. We can process up to 52 of them at a time, due to governance, which is fine. The restlet sets all of the undocumented custom field values that are needed by Recurring Billing for their Workflow to process the Sales Order. If we get one or more fields wrong, the sales order can sometimes generate a subscription that appears fine, but then errors out and fails to generate an invoice a month later.