Understanding Record Type Associations

You use the Other Associations page (Other Associations) to modify or define parameters for the following:

  • Sequences and Masks

  • Document Code

  • Expiration Code

  • Inspection Group

  • Address Type Group

  • Application Status Group

  • Fee Schedule

  • Workflow

  • SmartChoice Group

  • Application Specific Information Group

  • Virtual Folder Group.

    Figure: Other Associations

Table 1. Record Type Other Associations Fields
Section on Page Field Field Descriptions
Sequences and Masks (Sequences and Masks) Record Key Mask The name of the sequence type used to autonumber new instances of the record type. Civic Platform uses the $$yy$$CAP-00000-$$SEQ05$$ mask by default.
ID Mask The mask identifier for this record type.
Partial ID Mask The name of the sequence type used to autonumber, 1) partially completed records at intake, 2) records that represent an estimate, and 3) records saved in Citizen Access.
Temporary ID Mask The name of the sequence type used to autonumber temporary records.
Receipt Number Scheme The name of the sequence type used to autonumber receipts. You can use different receipt number schemes to differentiate building department receipts from code enforcement receipts, for example.
Invoice Number Scheme The name of the sequence type used to autonumber invoices. You can use different invoice number schemes to differentiate building department receipts from code enforcement receipts, for example.
Document Code Default Document Code The name of a default grouping of document types that you can attach to instances of the record type.
Default Document Type The name of the default document type, taken from the list of document types for the Default Document Code, to use for record attachments. Graphic image, photo, and Word document provide examples of different document types.
Expiration Code (Expiration Codes) Expiration Code The name of the expiration code to apply to instances of the record type. The expiration code defines the parameters for expiring records.
Inspection Group (Inspection Groups) Inspection Group The name of inspection group that contains the inspection related parameter values to apply to instances of this record type.
Address Type Group (Address Type Groups) Address Type Group The name of the address type group that contains permissible address types for instances of this record type.
Status Group (Application Status Groups) Application Status Group Code The name of the status group that contains possible status values for instances of the record type.
Default Record Status The name of the default record status, taken from the list of status values for the Application Status Group Code, associated with instances of the record type.
Fee Schedule (Fee Schedules) Fee Schedule The name of the fee schedule associated with instances of the record type.
Workflow (Workflow) Workflow The name of the workflow associated with instances of the record type.
SmartChoice Group (SmartChoice Groups) SmartChoice Group The name of the SmartChoice group associated with instances of the record type.
Application Specific Info Group (Application Specific Information Groups) Application Specific Info Group The name of the ASI group and subgroups associated with instances of the record type.
Virtual Folder Group (Virtual Folder Groups) Virtual Folder Group The name of the virtual folder group associated with instances of the record type.

Sequences and Masks

Civic Platform provides a sequence generator to autonumber records. You can define different sequences and different masks for different record types, such as citations, permits, invoices, receipts, and sets, to differentiate how instances of those record types display to Civic Platform users.

An autonumber sequence comprises three elements; a sequence definition, a mask definition, and a sequence interval.

The sequence definition specifies the starting value of the number, how big it can get, its interval type, and what Civic Platform does after it uses the last available number from pool of numbers.

The mask definition specifies how the sequence number displays to the user. The mask definition can combine text and numbers with the sequence.

Example Use Case

You want users to see the record type and the calendar year as part of the application number. You create a mask pattern and apply it to the sequence definition in such a way that users can easily identify a residential permit application, 2009-00000190-RES, for example. The sequence interval determines the spacing of the autonumber sequence. For example, an interval of 5 generates sequences like the following; 2009-00000190-RES, 2009-00000195-RES, 2009-00000200-RES, and so forth.

Civic Platform provides best practice sequences and best practice masks for common sequence types (see Civic Platform Administrator Guide).

Expiration Codes

Civic Platform uses expiration codes to manage renewals of license record types. The expiration code associates various parameters that apply to a license renewal record such as expiration date, interval, grace period, penalty period, and fees.

Inspection Groups

An inspection group comprises a group of inspection types which represent the set of inspections users need to complete to issue a permit or license. The inspection group defines the inspection types and the inspection order.

The inspection types specify the checklist group, result group and grade group, which provide the guidelines to follow for performing the actual inspection and for resulting the inspection score, inspection status, and inspection grade. You can define your inspection types to automatically schedule inspections and assign them the appropriate inspectors.

Example Use Case

You require a foundation wall inspection, an electrical inspection, and a plumbing inspection before issuing a building permit. You set up a building inspection group and you associate the inspection group with all building record types.

Address Type Groups

Address type groups define the set of address types that you can use with a record type.

Example Use Case

You create a commercial building address type group that contains the street address type and parcel address type. You associate the commercial building address type group with the commercial building record type. While creating a new commercial building record, you want to search the Civic Platform database for existing information related to the commercial building. You enter the street address and select the street address type as your search criteria. Civic Platform finds the record and populates the application form with existing information about the commercial building.

Application Status Groups

Application status groups comprise a common set of status values that apply to one or more record types. Civic Platform applies these status values to record type instances at various stages of their lifecycle.

Example Use Case

A group of electrical building record types have the same set of status values. A group of real estate record types have the same set of status values and these status values differ from the status values for the electrical building record types. You create two different status groups and associate one group with the electrical building record types and the other with the real estate building types.

Fee Schedules

Civic Platform uses fee schedules to organize individual fee items. Fee schedules provide the connection between fee items, modules, and record types (Fee Components for Implementation).

Civic Platform does not allow creation of new record types without an assigned fee schedule. Fee schedules, and their associated fee items become available for assessment upon submittal of new applications to an agency. A record type can have more than one fee schedule assigned to it.

Figure: Fee Components for Implementation

Understanding Fee Items

A fee item represents an item or service for which you want to assess a fee. You can configure fee items in multiple ways. You can create a simple fee (Simple Fee Item), a point of sale fee (Point of Sale Fee Items), and complex fees with calculations (Complex Fee Items). You can configure ways to adjust the fees with regional modifiers, occupancy groups, or valuations (Calculating Valuation).

You can set up fee items to automatically invoice and bill upon application submission, or to delay the invoice and billing until the completion of a task, such as an inspection.

You can charge a simple fee or create more complex fees that use application information and use fee calculations. You can adjust fee totals based on occupancy groups, a job value estimate from a contractor, or a job value based on a valuation calculator that your agency defines. You can set up different fees for materials, events, services, applications, and any other item that you can valuate.

Civic Platform provides standard fee formulas for which you define variable and constant values. Civic Platform uses these values to calculate the fee for each record type. You can also use scripts to assign fees to applications.

You can send an invoice to the customer that details the assessed fees required for the application. When the customer pays the invoiced assessed fees, the cashier applies the payment to the application and takes payment for additional point of sale items. At any time, the agency can void the invoice or transaction.

Civic Platform provides numerous ways to charge fees. You can charge fees for applications and the various processes associated with those applications.

Example Use Case

Your agency charges a standard $25.00 application fee, or a $75.00 electrical inspection fee that you adjust based on the number of electrical outlets, building square footage, and building type in which the inspection takes place.

You may want to configure fee estimation as a service to your customers. This feature allows a customer to be able to anticipate charges associated with their application, before submission to the agency.

Situations may arise where your agency needs to charge a fee for which no associated record type exists. You create a point of sale fee to accommodate these situations.

If your agency implements fee estimation, partially completed applications display applicable fee items to a customer before submission to the agency.

Example Use Case

A builder submits an application for a restaurant remodeling project. Assessed fees for the remodel application include various application fees, such as building and electrical applications. The agency sends an invoice for one or more of the assessed application fees to the builder and the builder pays the cashier. The cashier applies the payment to the application and prints a receipt. If the scope of the project changes, the agency can readjust the fees, send another invoice, and either void paid fees, or credit the payment to another record or point of sale item.

Simple Fee Item

The easiest way to configure a fee for an application type is to create a simple fee. The simple fee is a flat fee or base fee without any additional calculations, variables, or dependencies. For example, an application fee of $25.00 for each application submitted to the agency. You can also do a simple fee by job value.

Point of Sale Fee Items

When you want to charge a customer for an item unaffiliated with an application type, such as a mug, map, or hat, you can create a point of sale fee item. You capture transactions from point of sale fees on the daily balance sheet and process them through a cashier payment without an associated record. You can create, invoice, remove, pay, apply, refund and generate a receipt for point of sale fees.

Complex Fee Items

Civic Platform provides administrators with the ability to create complex fee calculations with the Fee Calc and Fee Calc Criteria features. The if-then calculations follow a true-false logic to determine values for complex calculations.

Civic Platform can calculate complex fee items based on user entered data, on an application intake form, and predefined calculation logic.

Example Use Case

On an electrical application, the number of electrical outlets determines the amount of the fee. The fee per unit for 150 electrical outlets in a home differs from the fee per unit for a 20,000 square foot office building with 5000 electrical outlets. The number of outlets impacts the inspection process and the amount of time required to do it. The fee reflects the amount of work to conduct the inspection.

Civic Platform can use the output value from one calculation as the input value for a subsequent calculations.

Example Use Case

A fee item determines a base fee amount. The fee item also includes an association to a calculation record. The associated fee calculation determines a separate amount and evaluates the two amounts to determine the total. Accela Automaton then applies the total, from the fee calculation, to the application.

Enabling Fee Estimation

Internal agency users and public users can create partially completed applications and still get an estimate of costs payable to the agency. Civic Platform does not count partially completed applications as regular applications because they have not been fully submitted to the agency for processing. Fee estimation helps users determine the fees for a license renewal without submitting the license renewal application.

Fees and Citizen Access

Citizen Access can apply all fees from a fee schedule to record types. Citizen Access assesses fees and invoices automatically. Citizen Access does not support switching between different versions like an agency user can do in Civic Platform.

Calculating Valuation

Your agency can use the valuation calculator to determine the contractor job value for certain building projects. Valuation is a method for estimating the cost of constructing a building or performing some task. Civic Platform calculates the valuation of a piece of work by multiplying a quantity such as floor area, linear feet of water pipe, or hours of labor, by a unit cost such as $25 per linear feet. Civic Platform can apply an additional state or regional multiplier, such as 1.2.

Calculating Valuation By Occupancy Code

You can configure valuation calculation to include different unit costs for each type of occupancy, such as residential, commercial, or industrial. You can further define residential occupancy types as apartments, condos, and dwellings.

Calculating Valuation By Occupancy Code Versions

You can apply different valuation calculations to the different versions of the same occupancy code. You can track multiple versions of a valuation calculator, but only one version is active at one time. After you create occupancy versions, you can group them and run them for batch processing.

Example Use Case

  • An agency defines different occupancy code versions for each city within a county.

  • An agency defines different occupancy code versions to accommodate increases in the unit cost of material due to inflation.

  • You have a residential occupancy that contains one-bedroom apartments. You classify apartment size as an occupancy version. You use a different valuation calculator to calculate the job value for constructing one-bedroom apartments and two-bedroom apartments.

Managing Invoices and Payment Periods

Payment periods define the interval for batch processing customer invoices. The agency controls who can make exceptions to the standard billing interval, such as removal of an invoice from a partial application.

Managing Payment Periods

Within the same fee schedule you can set up several payment periods. For example, if you want to assess an inspection fee just before issuing a permit, you can set up an “Inspection Final” payment period. You can also setup payment periods that indicate which module that a user is working in, such as Enforcement.

If you are using the Business License module, the payment period acts as a flag during batch processing. The License batch process automatically processes licenses with an expiration date that you specify and assesses any necessary renewal fees or penalty fees. Depending on which payment period the expiration date falls in, Civic Platform assesses the appropriate fee.

Invoicing Options

After you assess one or more fees for an application, Civic Platform automatically invoices the fees. You have the option to invoice fees individually or as part of a group.

  • Optional Invoicing. After you assess one or more fees, Civic Platform automatically invoices the fees. Administrators can disable automatic invoicing.

  • Printing Invoice Batches. Administrators can allow users to print invoices in batches.


Civic Platform provides workflows to link together and automate tasks for processing different record types. Workflows codify your agency business process by ensuring that tasks are performed in the correct order by personnel with appropriate skill levels. Workflows can also optimize throughput of record processing by balancing the load of tasks across all available and qualified personnel.

Example Use Case

You create a workflow that includes all the tasks to process a commercial building permit. This workflow includes tasks such as application acceptance, building review, permit issuance, inspections, certificate of occupancy, and closure.

The My Tasks portlet provides a single view into the tasks that active workflows assign to you. You instruct the workflow to move to the next task by changing the status of the current task to the status of the next task (from in progress to complete, for example).

Record status determines the operations you can perform on a record and your permission to perform those operations. For example, when a record changes its status, the workflow can lock the record from further activity until the status changes to a status that releases the lock.

You can provide email notifications anytime the status changes. For each task and task status, you can notify a different individual. For example, you can notify a contractor after completion of a building inspection. Civic Platform can also notify public applicants.

Example Use Case

The workflow limits access to a building permit record when the status changes to plan review. The workflow limits access by restricting the ability of users to schedule inspections or result inspections, the workflow only allows users to view the record. When the record status changes to issued, users can schedule the necessary inspections and result an inspection.

The workflow definition comprises task names, task owners, task order, task time line, and sub-tasks. You can define as many workflows as your agency needs. You can define different workflows for different record types. You can also use the same workflows for different record types. For complex business processes, you can combine multiple processes into a single workflow hierarchy.

You can define workflows to complete tasks in sequence, complete tasks in parallel, loop back to repeat earlier completed tasks, or branch to skip tasks. The process to follow depends on how you define the workflow and the situation in which a user changes a task status.

You can add sub-tasks, also known as activities, to each task. Sub-tasks create a more detailed workflow process or outline the steps involved in each main level task. You can attach a document with a sub-task. For example, you can attach a report of the results of the plan review or upload the actual plans.

You can track the time you agency takes to process records, excluding the time spent by external parties. This time tracking can help determine where an agency can improve efficiency.

You can save a history of workflows to audit your business processes.

Assignments, Skillsets, and Workloads

Assignments allow you to make departments or make individuals responsible for certain tasks. You can make general assignments, specialized assignments, or workflow task assignments.

General assignments let you assign a record to any department or individual on your system. When you make a specialized assignment, you can choose a department member or staff member from a list, after comparing the skillset and workload of each candidate.

You rate candidates according to their skillset, or their experience level, and their current workload. Civic Platform can make automatic task assignments by calculating a skillset to workload ratio to decide who has the best skills and lightest workload. By regularly reviewing and updating workflow tasks, you can stay current with your agency’s workload.

Workflow Design Options

Civic Platform provides two options for designing workflows; 1) a graphical tool, and 2) a legacy tool. The graphical design tool provides most of the functions of the legacy tool, but in an easier visually-based interface.

Figure: Workflow Designer with Sample Workflow

The legacy tool, provides a less user-friendly way to design workflows that requires you to understand the position of each task in the workflow and use proper phase and next numbers in your workflow design specification.

A workflow process phase number is a series of five 3-digit numbers that identify the unique position of this task in the workflow process and its relationship with other tasks. Depending on how you set up this number, you can determine when to activate this task and when to skip it.

Figure: Example Phase Number

A workflow process next number in is a series of five 3-digit numbers that identify the next task, or tasks, in the workflow process. Depending on how you set up this number, you can set up the workflow to activate the next task, jump to a future task, return to a completed task, or skip another task.

Figure: Example Next Number

The legacy design tool allows you to preview a visual representation of the process (Previewing a Legacy Workflow Design).

Figure: Previewing a Legacy Workflow Design

Consecutive tasks appear one after the other. Parallel tasks appear on the same row and they share the same parallel indicator. Blue arrows indicate branches in the process. Red arrows indicate loops.

SmartChoice Groups

A SmartChoice group determines the sections, parameters, and settings to display on the application intake form for the associated record type. You can use a SmartChoice group to define how users enter information in each section. For example, you can allow users to search for certain information, to validate it, or require that users complete certain fields.

Application Specific Information Groups

An Application Specific Information (ASI) group defines a set of information associated with records of a particular record type. This information includes address, parcel, and contact information, in addition to standard application fields.

The ASI group specifies field types, such as text or number; display order; default value; and fee indicator for any field in the ASI group. You can run reports against ASI group data.

Application Specific Information Subgroups

For each application-specific information group code, you can delete or arrange the display order of subgroups. You can create new subgroups or edit existing subgroups, and add them to the group code.

If your agency provides Citizen Access, you can perform the following Citizen Access-specific configuration tasks:

  • define the layout of information

  • create instructional text

  • set the display in pageflow

  • arrange the display order.

Application Specific Information Table Groups

Administrators can set up tables that let users add application‑specific data for application to multiple items. An ASI table can have as many specific data fields with individual data types as the administrator defines. You can make the table data fields available for fee calculation and for Event Manager scripts.

Example Use Case

An agency wants to store the quantity and manufacturer for different types of fixtures, such as bathtubs, sinks, and drains. The attached table’s name becomes the label Civic Platform displays to the user.

Application Specific Information Table Drill-downs

Civic Platform associates ASI table drill-downs to record type application intake forms through the ASI group or ASI group table to which the ASI table drill-down associates. (Understanding the Form Layout Editor)

Virtual Folder Groups

When you upload an attachment in either Civic Platform or Citizen Access, you select from a pre-defined list (or group) of ‘virtual folders’ or create a new virtual folder. However, Citizen Access users uploading an attachment can only select from a pre-defined virtual folder group.

You use virtual folders to organize uploaded attachments into groups (folders). You can create as many virtual folders and folder groups as you need. You use Standard Choices values to create the folders you want (see Civic Platform Configuration Reference).