Apart from the three filters, Account, Account Location, and Product, you can create Custom Filters to sort and process Invoices. 

By default, the invoices are filtered based on the invoice filters available on the invoice run UI. 

For example, you are a Billing executive in a retail chain and you want to generate only those invoices for a custom object that is local to your organization and is not a standard object in Conga CPQ or Conga Billing. You can define Custom Settings to call the custom Object in your implementation of  Conga Billing.

To add the custom class

  1. Go to Setup > App Setup > Develop > Apex Classes.
  2. Click New.
  3. Enter the sample callback class code.

  4.  Click Save.

This is just a sample callback class. You may change the code per your requirements.

In order to implement the interface, prefix it with Apttus_Billing.CustomClass.<Interface Name>



 /*    Apttus Billing  
* TestInvoiceFilterCallback
 */ 
global class TestInvoiceFilterCallback implements CustomClass.IInvoiceFilterCallback { 
global String getBillingScheduleFilterExpression(CustomClass.Parameters params) { 
String filter = 'AssetLineItemId__r.Apttus_Config2__BusinessLineItemId__c = \'' + params.invoiceRunSO.Category__c + '\''; return filter; 
	} 
} 
CODE

.

When you define a value for the Invoice Filter Callback Class, the Invoice Run User interface is updated with the Custom Options section that has 2 fields, Category, and Sub Category.

Select the values with the from each field with the picklist you have defined and the resulting Invoice Run is processed based on the fields you define here. For example, if a customer wants to only apply the Invoice Run to one or more Business Partner countries (a custom field added to the Asset Line Item) then the Category pick list should be updated to contain all countries applicable to their application: Germany, France, Italy, and others. Based on the country selected in Category, selected Billing Schedules will be picked by Invoice Run. If further granular filtering is needed then you can leverage the Sub Category pick list.

To add the name of custom callback class, go to Setup > App Setup > Develop > Custom Settings and click Manage beside Billing Custom Classes. Click Edit for System Properties and enter the name of your custom callback class in Invoice Filter Callback Class.