Custom Forms
Customize form layouts, fields, and behaviors for specific business needs.
Form Types
FORM CATEGORIES
═══════════════════════════════════════════════════════════════════════════════
TRANSACTION FORMS
┌─────────────────────────────────────────────────────────────────────────────┐
│ Navigation: Customization → Forms → Transaction Forms │
│ │
│ • Sales Order Forms │
│ • Invoice Forms │
│ • Purchase Order Forms │
│ • Bill Forms │
│ • Journal Entry Forms │
│ • Item Receipt Forms │
│ • All transaction types │
└─────────────────────────────────────────────────────────────────────────────┘
ENTRY FORMS
┌─────────────────────────────────────────────────────────────────────────────┐
│ Navigation: Customization → Forms → Entry Forms │
│ │
│ • Customer Forms │
│ • Vendor Forms │
│ • Employee Forms │
│ • Item Forms │
│ • Contact Forms │
└─────────────────────────────────────────────────────────────────────────────┘
Creating a Custom Form
CUSTOM FORM CREATION
═══════════════════════════════════════════════════════════════════════════════
Step 1: Start with Standard or Existing Form
┌─────────────────────────────────────────────────────────────────────────────┐
│ Options: │
│ ○ Create new (blank form) │
│ ● Customize Standard Form (recommended) │
│ ○ Copy Existing Custom Form │
└─────────────────────────────────────────────────────────────────────────────┘
Step 2: Name Your Form
┌─────────────────────────────────────────────────────────────────────────────┐
│ Name: Wholesale Sales Order │
│ Description: Sales order form for wholesale customers │
│ Preferred: ☐ (set as default for new records) │
│ Inactive: ☐ │
└─────────────────────────────────────────────────────────────────────────────┘
Step 3: Configure Screen Fields
┌─────────────────────────────────────────────────────────────────────────────┐
│ Field │ Show │ Mandatory │ Default Value │ Tab │
│ ────────────────────────────────────────────────────────────────────────── │
│ Customer │ ☑ │ ☑ │ │ Main │
│ Date │ ☑ │ ☑ │ {today} │ Main │
│ Memo │ ☑ │ ☐ │ │ Main │
│ Ship Date │ ☑ │ ☑ │ │ Shipping │
│ Ship Method │ ☑ │ ☑ │ │ Shipping │
│ Project Code │ ☑ │ ☐ │ │ Custom │
└─────────────────────────────────────────────────────────────────────────────┘
Step 4: Configure Sublist Fields
┌─────────────────────────────────────────────────────────────────────────────┐
│ Items Sublist: │
│ Column │ Show │ Width │ Order │
│ ────────────────────────────────────────────────────────────────────────── │
│ Item │ ☑ │ 200 │ 1 │
│ Description │ ☑ │ 300 │ 2 │
│ Quantity │ ☑ │ 80 │ 3 │
│ Rate │ ☑ │ 100 │ 4 │
│ Amount │ ☑ │ 100 │ 5 │
│ Tax Code │ ☐ │ │ (hidden for this form) │
└─────────────────────────────────────────────────────────────────────────────┘
Form Actions
Add or hide buttons on forms.
FORM ACTIONS CONFIGURATION
═══════════════════════════════════════════════════════════════════════════════
Actions Tab:
┌─────────────────────────────────────────────────────────────────────────────┐
│ STANDARD ACTIONS │
│ ────────────────────────────────────────────────────────────────────────── │
│ Action │ Show │ Label Override │
│ ────────────────────────────────────────────────────────────────────────── │
│ Save │ ☑ │ │
│ Save & New │ ☑ │ │
│ Cancel │ ☑ │ │
│ Delete │ ☐ │ (hide for this form) │
│ Print │ ☑ │ │
│ Email │ ☑ │ │
│ │
│ CUSTOM ACTIONS │
│ ────────────────────────────────────────────────────────────────────────── │
│ Action │ Script/URL │
│ ────────────────────────────────────────────────────────────────────────── │
│ Approve Order │ customscript_approve_order │
│ Send to Warehouse │ customscript_send_warehouse │
│ Print Pick Ticket │ /app/site/hosting/scriptlet.nl?script=123 │
└─────────────────────────────────────────────────────────────────────────────┘
Role Assignment
Control which roles see which forms.
ROLE-BASED FORM ASSIGNMENT
═══════════════════════════════════════════════════════════════════════════════
Roles Tab:
┌─────────────────────────────────────────────────────────────────────────────┐
│ Form: Wholesale Sales Order │
│ │
│ Role │ Access │ Preferred │
│ ────────────────────────────────────────────────────────────────────────── │
│ Administrator │ ☑ │ ☐ │
│ Sales Manager │ ☑ │ ☑ ← Default form for this role │
│ Sales Representative │ ☑ │ ☑ │
│ A/R Clerk │ ☐ │ ☐ ← Cannot use this form │
│ Warehouse Manager │ ☑ │ ☐ │
└─────────────────────────────────────────────────────────────────────────────┘
Multiple Forms per Transaction Type:
┌─────────────────────────────────────────────────────────────────────────────┐
│ Sales Order Forms in System: │
│ │
│ Form Name │ Roles │ Use Case │
│ ────────────────────────────────────────────────────────────────────────── │
│ Standard Sales Order │ Admin │ Full featured │
│ Wholesale Sales Order │ Sales Manager, Sales Rep │ Simplified for speed │
│ Retail Sales Order │ Retail Staff │ POS-like interface │
│ Service Order │ Service Team │ Service items only │
└─────────────────────────────────────────────────────────────────────────────┘
Field Layout
FORM LAYOUT OPTIONS
═══════════════════════════════════════════════════════════════════════════════
Field Positioning:
┌─────────────────────────────────────────────────────────────────────────────┐
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ MAIN TAB │ │
│ │ ┌────────────────────────────┐ ┌────────────────────────────┐ │ │
│ │ │ Customer [________▼] │ │ Date [__/__/____] │ │ │
│ │ └────────────────────────────┘ └────────────────────────────┘ │ │
│ │ ┌────────────────────────────┐ ┌────────────────────────────┐ │ │
│ │ │ Contact [________▼] │ │ PO Number [__________] │ │ │
│ │ └────────────────────────────┘ └────────────────────────────┘ │ │
│ │ ┌─────────────────────────────────────────────────────────────┐ │ │
│ │ │ Memo [____________________________________] │ │ │
│ │ └─────────────────────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ ITEMS SUBLIST │ │
│ │ ┌──────┬────────────┬───────────────────┬─────────┬────────┬──────────┐ │ │
│ │ │ Item │ Description│ Qty │ Rate │ Amount │ Tax Code │ │ │
│ │ ├──────┼────────────┼───────────────────┼─────────┼────────┼──────────┤ │ │
│ │ │ │ │ │ │ │ │ │ │
│ │ └──────┴────────────┴───────────────────┴─────────┴────────┴──────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────┘
Layout Controls:
• Field width: Characters wide
• Break Before: Start field on new row
• Colspan: Span multiple columns
• Tab placement: Which subtab contains field
Sublist Customization
SUBLIST CONFIGURATION
═══════════════════════════════════════════════════════════════════════════════
Items Sublist Options:
┌─────────────────────────────────────────────────────────────────────────────┐
│ General Settings: │
│ Lines per page: 10 │
│ Allow quick add: ☑ │
│ Allow reordering: ☑ │
│ │
│ Column Configuration: │
│ ┌────────────────────────────────────────────────────────────────────────┐ │
│ │ Column │ Show │ Width │ Mandatory │ Default │ │
│ ├────────────────┼──────┼───────┼───────────┼────────────────────────────┤ │
│ │ Item │ ☑ │ 200 │ ☑ │ │ │
│ │ Quantity │ ☑ │ 80 │ ☑ │ 1 │ │
│ │ Units │ ☐ │ │ ☐ │ (hidden) │ │
│ │ Rate │ ☑ │ 100 │ ☐ │ │ │
│ │ Discount │ ☐ │ │ ☐ │ (hidden) │ │
│ │ Amount │ ☑ │ 100 │ ☐ │ │ │
│ └────────────────┴──────┴───────┴───────────┴────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────┘
Form Selection in Scripts
// Get current form
const formId = record.getValue({ fieldId: 'customform' });
// Set form on record
record.setValue({
fieldId: 'customform',
value: 123 // Internal ID of custom form
});
// Find form by name
const formSearch = search.create({
type: search.Type.TRANSACTION_FORM,
filters: [
['name', 'is', 'Wholesale Sales Order']
],
columns: ['internalid', 'name']
});
Best Practices
FORM CUSTOMIZATION BEST PRACTICES
═══════════════════════════════════════════════════════════════════════════════
Design:
┌─────────────────────────────────────────────────────────────────────────────┐
│ ✓ Group related fields together │
│ ✓ Place frequently used fields at top │
│ ✓ Hide unnecessary fields to reduce clutter │
│ ✓ Use consistent layouts across similar forms │
└─────────────────────────────────────────────────────────────────────────────┘
Performance:
┌─────────────────────────────────────────────────────────────────────────────┐
│ ✓ Limit client scripts on forms │
│ ✓ Avoid excessive sourcing │
│ ✓ Hide fields instead of removing (safer) │
└─────────────────────────────────────────────────────────────────────────────┘
Maintenance:
┌─────────────────────────────────────────────────────────────────────────────┐
│ ✓ Document form purpose in description │
│ ✓ Use clear, descriptive form names │
│ ✓ Test with all assigned roles │
│ ✓ Create forms in sandbox first │
└─────────────────────────────────────────────────────────────────────────────┘
Next Steps
| Goal | Go To |
|---|---|
| Return to Suite Builder | Suite Builder → |
| Build workflows | Workflows → |
| PDF customization | PDF Templates → |