The custom fields feature is introduced to further customize MobileBiz data. It is useful for specific information that you need to capture data but cannot find on any of MobileBiz entry screens. Things like your customer's Loyalty Card No for example, is not supported by MobileBiz. Neither is a Promo Code applied to an invoice. These two information are perfect examples for custom fields applied to customer and transaction records respectively.
Custom fields applied to transactions (quote, sales order, cash sale, invoice) are called BODY fields. Those applied to customers are called ENTITY fields, while ITEM fields for items.
BODY fields, as the name implies, are data found on the transaction body. On future updates, there will be LINE fields which are applied to transaction lines. ITEM fields are data added to item records. ENTITY fields are applied to customers but can later on be applied to suppliers when that record is introduced too.
Custom fields can be defined as free-text, number, currency, checkbox, date, or textarea types. The type determines how data can be inputted. After a custom field is added, it is assigned a unique ID. For transaction Body fields, the ID always starts with CUSTBODY, for Entity fields it always starts with CUSTENTITY, and for Item fields it starts with CUSTITEM. They are followed by a sequential number such that a generated custom field ID looks like these:
Why so much emphasis on these IDs? It's because the values of custom fields can only appear on print templates by using these IDs. For example:
| Custom field name | Custom field ID | What to put on template |
|---|---|---|
| Loyalty Card No | CUSTENTITY1 | {CUSTOMER.CUSTENTITY1} |
| Promo Code | CUSTBODY1 | {TNX.CUSTBODY1} |
More on print templates on the Tag Reference section.
Important note on usage:
Try to add new custom fields sparingly. On this version, once defined custom fields cannot be deleted and can only be inactivated (ie. not shown). This is a limitation brought about by the type of database installed on all Android phones. Too many custom fields definitely increases the sophistication of the database and may slow down your app down the line. So if a new custom field needs to be created, try reusing the inactivated ones first before adding a new one.
Another thing to remember is that custom field definitions are shared between record types. And as such, there is no value in creating several custom fields that are meant to input the same kind of data. For example, a custom field called Job Order was added and applied to intially to sales order. Later on, it was decided to use a job order too on invoices. So instead of creating a new Job Order custom field for invoices, go to the sales order Job Order, edit it, and apply to invoices too. This way, no additional custom field is added and the concept of a job order remains the same across transaction types.
There are several way get to the entry screen.
The add custom field entry screen looks like this.

To add the Promo Code custom field mentioned earlier, type Promo Code on the Name and check the transactions to which it should appear (let's apply it to Sales Order and Invoice).
Also select the input type. Assuming promo codes are a combination of text and numbers, we are safe with the Text input type. It is possible to change input type later.

Save and that's it.

So we just enabled ability to enter promo codes on Sales Order and Invoices. Let us put a value to this new Promo Code custom field. On an invoice record, hit Menu > Edit > Custom Fields.


Promo Code custom field is seen on the list and if there are more custom fields on the invoice, they will be visible on this list too. Click on it so we can enter the promo code value.

You will see an input textbox to put the promo code. Note the ID below the input textbox, it says CUSTBODY1. Enter something and Save. After saving, it goes back to the listing screen. Then tap on Done to return to the invoice record.


The Promo Code value is now see on the Invoice > Details tab.
For Customer and Item fields, the steps are similar.
Before sending PDF or printing an HTML invoice for customers, a print template needs to be setup.
Loading the default template
If this is a new installation or there are no templates yet, go to Home > menu > Lists > Customization > Print Setup. It takes you to the screen below. Hit the Load default template button to install MobileBiz default template.
![]() |
![]() |
Assigning templates to transactions
Long tap on MobileBiz Sales Template > Apply To > then Select any sale type. You can repeat this process to assign the template to other sale types. The picture below shows the template after it has been assigned.

Now try to print an invoice and this template will be used. You will also see how it looks before we proceed to refine this template.
Print settings
This section refers to contents of the Print Setup > Settings tab. What is included on this tab?
Somes notes about the company logo:
Customizing up the default template
On the template list, click on the MobileBiz Sales Template. You are shown 3 tabs:

The Options tab
MobileBiz templates are customized by putting free-text content and MobileBiz tags on the Options tab. Here the ones found on the default template. Please note that these are just samples of the kind of data you can put into the template.
| Page margins | |
| MARGIN TOP | Numeric value |
| MARGIN LEFT | Numeric value |
| MARGIN RIGHT | Numeric value |
| MARGIN BOTTOM | Numeric value |
| Color theme for printout | |
| COLOR | A named HTML color or Hex color. There is a link on the template about possible colors to put. |
| Company details By default, the data is pulled by MobileBiz tags from the Print Setup screen > Settings tab. It is also possible to just put in free-text values. |
|
| COMPANY LOGO | {COMPANY.LOGO} |
| COMPANY NAME | {COMPANY.NAME} |
| COMPANY DETAILS | {COMPANY.NAME} {COMPANY.ADDRESS} {COMPANY.PHONE} {COMPANY.EMAIL} {COMPANY.WEBSITE} |
| BILL TO and SHIP TO blocks These appear as two blocks above the sale item table. We are using Bill and Ship To as sample content for these blocks. It does not stop you from putting other content on these blocks. |
|
| BILL TO LABEL | A free-text label |
| BILL TO | {TNX.BILLTO} from the transaction |
| SHIP TO LABEL | A free-text label |
| SHIP TO | {TNX.SHIPTO} from the transaction |
| Transaction details block Shows the Invoice numbers and transaction dates. |
|
| TRANSACTION NO | {TNX.TYPE} #{TNX.NO} |
| TRANSACTION DETAILS | <b>Date</b>: {TNX.TRANDATE}<br/> <b>Due Date</b>: {TNX.DUEDATE} You are free to use simple HTML tags to further format the values. But be very careful on this and make sure that tags are opened and closed too. If not, the printout won't display. |
| Sale Items table This part is designed to show the sale items as a grid. You have to follow some rules to make this work. |
|
| SALE ITEM LABELS | Qty, Item, Description, Price, Amount These are the column headers for line item data. It also dictates how many columns the grid will show. Each text header must be separated by commas. |
| SALE ITEM FIELD TAGS | {LINE.QTY}, {LINE.ITEM}, {LINE.DESC}, {LINE.PRICE}_R, {LINE.GROSS}_R These are most likely dynamic sale item data so it should be MobileBiz tags. Tags placed here should be in sych with the headers or else it doesn't make sense. Also notice the suffix after some of the tags. It controls the alignment (right, left, center) of the actual data when it is shown. Possible values are _R , _C , and _L |
| SALE TOTAL LABELS | Subtotal, Discount, Shipping, Sales Tax, Total This is a comma-separated list of labels for the transactions totals. You can show less by removing some of them. |
| SALE TOTALS | {TNX.GROSS}, {TNX.DISCOUNT}, {TNX.SHIPPING}, {TNX.TAX}, {TNX.TOTAL} This is a comma-separated list of MobileBiz tags for the transactions totals. It has to be in synch with the SALE TOTAL LABELS. |
| Additional Tabular Block This functions as an extra grid of information above the Sale Item Table. It is also configured in a similar way to the Sale Item Table. If you don't need this block, just leave the setting blank and the grid will not show. |
|
| ADDITIONAL BLOCK HEADERS | Comma-separated list of free-text labels. The columns shown depends on how many labels you put in. |
| ADDITIONAL BLOCKS | Comma-separated list of free-text labels or MobileBiz tags. This must in synch with the ADDITIONAL BLOCK HEADERS. |
| Two more blocks underneath the Sale Item Table | |
| PAYMENT DETAILS LABEL | Free-text label |
| PAYMENT DETAILS | Any free-text or MobileBiz tags |
| OTHER INFO LABEL | Free-text label |
| OTHER INFORMATION | Any free-text or MobileBiz tags |
| Transaction Notes This is a block that spans the width of the printout. Use it anyway you like. |
|
| TRANSACTION NOTES | Any free-text or MobileBiz tags |
| Footer Block Another block that spans the width of the printout and appears at the bottom. |
|
| FOOTER TEXT | Any free-text or MobileBiz tags |
Creating a Minimal style template
The default template aims to highlight what can be done to the template. But it is not usable due to the example data on the printout. Let's clean it up to show only basic data so it can be used for actual sending to customers.
Steps:
MobileBiz tags allows you to pull dynamic data into your print templates. Currently, these tags are available for transactions (quotes, sales order, cash sales, invoices), customers, and company settings.
IMPORTANT: Tags are case-sensitive and should be placed inside curly braces {}. Otherwise they are not rendered properly and in some cases are causes of failure to render the printout. Below are some examples of how they are used on templates.
{COMPANY.NAME}
{CUSTOMER.EMAIL}
{CUSTOMER.CUSTENTITY1}
{TNX.DUEDATE}
{TNX.CUSTBODY1}
| Company Tags | |
| company.name | Company name |
| COMPANY.PHONE | Phone |
| COMPANY.ADDRESS | Address |
| COMPANY.SLOGAN | Slogan |
| COMPANY.EMAIL | |
| COMPANY.WEBSITE | Website |
| COMPANY.LOGO | URL logo / Sdcard logo |
| COMPANY.CURRENCY | Currency symbol |
| Customer Tags | |
| CUSTOMER.NAME | Name |
| CUSTOMER.PHONE | Phone |
| CUSTOMER.EMAIL | |
| CUSTOMER.ADDR1 | Address 1 |
| CUSTOMER.ADDR2 | Address 2 |
| CUSTOMER.CITY | City |
| CUSTOMER.STATE | State |
| CUSTOMER.COUNTRY | Country |
| CUSTOMER.ZIP | Zip |
| CUSTOMER.ADDRESS | Full address |
| CUSTOMER.DUE | Total due |
| CUSTOMER.PAID | Total paid |
| CUSTOMER.BALANCE | Balance |
| customer.custentityx | Custom field value of customer. Replace X with number. |
| Transaction Tags | |
| TNX.TYPE | Eg.estimate, invoice, etc |
| TNX.STATUS | Eg. pending payment, paid in full |
| TNX.TRANDATE | Transaction date |
| TNX.DUEDATE | Due date / Expiry date (estimates) |
| TNX.BILLTO | Bill To address |
| TNX.SHIPTO | Ship To address |
| TNX.TRANID | Eg. INVOICE#001 |
| TNX.NO | Numeric sale no, eg. 1 |
| TNX.MEMO | Memo |
| TNX.GROSS | Subtotal |
| TNX.DISCOUNT | Total discount amount |
| TNX.SHIPPING | Total shipping amount |
| TNX.COST | Total cost |
| TNX.TAX | Total tax amount |
| TNX.TAXRATE | Tax % |
| TNX.TAXCODE | Tax code |
| TNX.TAXCODE | Apply Tax? |
| TNX.BALANCE | Balance left on the invoice |
| TNX.PAID | Paid amount on the invoice. Add this tag when sending partially paid invoices. |
| TNX.DUE | Due amount on the invoice |
| TNX.DISCOUNTOTAL | Discount on total |
| TNX.NOTES | All public notes on the transaction record |
| TNX.CREATEDFROM | Created from |
| TNX.LASTUPDATED | Last updated |
| TNX.DATECREATED | Date created |
| tnx.custbodyX | Custom field value of transaction. Replace X with number. |
| If sending payment receipts using MobileBiz Payment Template, use these tags. This info is found on the Invoice record > Payments tab > one payment. | |
| PAY.DATE | Date the payment was made |
| PAY.MEMO | Memo set on the payment |
| PAY.METHOD | Payment method |
| PAY.AMOUNT | Payment amount |
| PAY.TYPE | Defaults to CUSTOMERPAYMENT but can be changed in Home > Lists > Print Setup > Settings tab > Transaction Type Labels > Payment |
| PAY.NO | Payment number. Can be overriden in Home > Lists > Transaction Numbers > Payments |
| Transaction Line Tags | |
| LINE.QTY | Sale item quantity |
| LINE.PRICE | Sale item price |
| LINE.ITEM | Sale item name |
| LINE.DESC | Description |
| LINE.GROSS | Gross amount |
| LINE.NET | Net amount |
| LINE.TAX | Tax |
| LINE.NO | Line number |
| LINE.COST | Total cost for the sale item |
| LINE.DISCOUNT | Discount |
| Item information is also available along with transaction line info. | |
| ITEM.UNITS | Price unit for the sale item |
| ITEM.NAME | Same as LINE.ITEM |
| ITEM.AVAILABLEQTY | Available quantity on the item record |
| ITEM.ONHAND | Onhand quantity on the item record |
| ITEM.BARCODE | Item barcode |
| ITEM.PRICE | Item price on the item record |
| ITEM.COST | Item cost on the item record |
| ITEM.DESC | Item description on the item record |
| ITEM.TAXABLE | Show if item is Taxable |
| ITEM.CUSTITEMxxx | Custom item fields; replace XXX with a numeric value |
| Other Tags | |
| TODAY.DATE | Current date when the transaction is printed or emailed |