Approve Credit Memos
The approveCreditMemos API is used to approve multiple credit memos at once by accepting a list of credit memos.
- Validates each credit memo in the list.
- If eligible (status is Draft or Pending Approved), it updates the status of the credit memo to Approved.
- All credit memo line items under that memo are also marked as Approved.
- If a credit memo line item has an associated billing schedule, the status of the billing schedule is changed to Invoiced.
- The Remaining Billable Amount on the related asset line item is recalculated.
| API | Signature |
|---|---|
| approveCreditMemos | static List approveCreditMemos(List creditMemoApprovalList) |
Request Parameter
| Field | Type | Required | Description |
|---|---|---|---|
| CustomClass.CreditMemoActionRequest | List | Yes | The list of credit memos you want to approve. |
Response
| Field | Type | Description |
|---|---|---|
| CustomClass.CreditMemoActionResult | List | A result parameter is returned for each request parameter. |
Apttus_Billing.CustomClass.CreditMemoActionRequest cr_1 =
new Apttus_Billing.CustomClass.CreditMemoActionRequest('a5JDc000000lq9P');// Credit memo ID
Apttus_Billing.CustomClass.CreditMemoActionRequest cr_2 =
new Apttus_Billing.CustomClass.CreditMemoActionRequest('a5JDc000000lq9Q');
Apttus_Billing.CustomClass.CreditMemoActionRequest cr_3 =
new Apttus_Billing.CustomClass.CreditMemoActionRequest('a5JDc000000lq9R');
List<Apttus_Billing.CustomClass.CreditMemoActionRequest> crList = new List<Apttus_Billing.CustomClass.CreditMemoActionRequest>();
crList.add(cr_1);
crList.add(cr_2);
crList.add(cr_3);
List<Apttus_Billing.CustomClass.CreditMemoActionResult> approveCreditMemos =
Apttus_Billing.CreditMemoService.approveCreditMemos(crList);
System.debug('-approveCreditMemos-'+approveCreditMemos);Code Sample Response - for single input parameters
approveCreditMemos-(CreditMemoActionResult:[creditMemoId=a5JDc000000lq9PMAQ, isSuccess=true, message=CreditMemo has been Approved.], CreditMemoActionResult:[creditMemoId=a5JDc000000lq9QMAQ, isSuccess=true, message=CreditMemo has been Approved.], CreditMemoActionResult:[creditMemoId=a5JDc000000lq9RMAQ, isSuccess=true, message=CreditMemo has been Approved.])
| API | Signature |
|---|---|
| approveCreditMemos | static List approveCreditMemos(List creditMemoApprovalList) |
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| CustomClass.CreditMemoActionRequest | List | Yes | The list of credit memos you want to approve. |
| taxCalculation | Boolean | No | This flag specifies whether to recalculate tax and update the tax breakdown. |
| autoApplyCreditMemoToInvoice | Boolean | No | This flag specifies whether the credit memo is automatically applied to the related invoice after approval. |
| generateDocument | Boolean | No | This flag specifies whether a credit memo document should be generated. |
Response
| Field | Type | Description |
|---|---|---|
| CustomClass.CreditMemoActionResult | List | A result parameter is returned for each request parameter. |
Code Sample Request - for multiple input parameters
Apttus_Billing.CustomClass.CreditMemoActionRequest cr_1 =
new Apttus_Billing.CustomClass.CreditMemoActionRequest('a5JDc000000lq9S', true, false, true);
Apttus_Billing.CustomClass.CreditMemoActionRequest cr_2 =
new Apttus_Billing.CustomClass.CreditMemoActionRequest('a5JDc000000lq9T', true, false, true);
List<Apttus_Billing.CustomClass.CreditMemoActionRequest> crList = new List<Apttus_Billing.CustomClass.CreditMemoActionRequest>();
crList.add(cr_1);
crList.add(cr_2);
List<Apttus_Billing.CustomClass.CreditMemoActionResult> approveCreditMemos =
Apttus_Billing.CreditMemoService.approveCreditMemos(crList);
System.debug('-approveCreditMemos-'+approveCreditMemos);"Apttus_Billing.CustomClass.CreditMemoActionRequest cr_1 =
new Apttus_Billing.CustomClass.CreditMemoActionRequest('a5JDc000000lq9L', true, false, true);
List<Apttus_Billing.CustomClass.CreditMemoActionRequest> crList = new List<Apttus_Billing.CustomClass.CreditMemoActionRequest>();
crList.add(cr_1);
List<Apttus_Billing.CustomClass.CreditMemoActionResult> approveCreditMemos =
Apttus_Billing.CreditMemoService.approveCreditMemos(crList);
System.debug('-approveCreditMemos-'+approveCreditMemos);
Apttus_Billing.CreditMemoService.updateCreditMemoTaxCalculationsAndBreakups(new Set<Id>{'a5JDc000000lq9L'}, true);Code Sample Response - for multiple input parameters
approveCreditMemos-(CreditMemoActionResult:[creditMemoId=a5JDc000000lq9SMAQ, isSuccess=true, message=CreditMemo has been Approved.], CreditMemoActionResult:[creditMemoId=a5JDc000000lq9TMAQ, isSuccess=true, message=CreditMemo has been Approved.])