This guide walks through how to define a schema for a Custom Form model that can extract data from Utility Bills using Butler's OCR APIs. It will be customizable for any Utility Bill variations.


  1. A Butler account. Create one here.
  2. 2 example Utility Bills for each variant you have to train your Custom Form model with.

Define your schema

First, go to the Library page and search for the Custom Form model:


Click on the Custom Forms card, then click the Create button to start building your new Custom Form model.

Enter the name of your model and a single example document. We used Utility Bill as our models name.

Next, define the different fields you want to extract from your Utility Bills.


For our Utility Bills we'll extract the following fields:

  1. Account Number: The Account Number the Utility Bill is for
  2. Statement Date: The date this Utility Bill was issued
  3. Due Date: The date the payment for this Utility Bill is due
  4. Total Amount Due: The total payment amount due for this Utility Bill
  5. Service For: The person that is being charged for this Utility Bill
  6. Service Address: The address that the charges for this Utility Bill are for

Feel free to add any additional Fields that you may need extracted!

Once you've added all the Fields you need, press the Start Training button.

Training your Utility Bill

Upload the sample Utility Bills on the Training Tab to begin training your model. Once processing has finished, make sure to label each of your Utility Bills correctly, making sure to press the Update Labels button whenever you are done with each document!


Once you are done labeling each document, close the labeling dialog and click the Train button. Make sure to choose the Auto Train option for your first time training.

After a few seconds your newly trained document will be ready for use! You can also check out Building Custom Form models for more details and best practices to follow while training.

Next steps

Your Utility Bill model is now ready to use! You'll now probably want to check out the Using the REST API guide to begin using this model within your product or workflow.