Who this article is for: Authority users.
Overview
Enforcement documents are built from templates you configure once and reuse. There are two kinds: Response templates produce the documents you issue — Notices of Violation, orders, warning letters — and Submittals templates define the reports you require an industrial user to send back.
This article covers building both. Filling them in and issuing them is covered separately.
Before you begin
Templates are shared across your program. Build one NOV template and every NOV you issue uses it.
You'll need to know which document types your program actually issues — you pick one per template and it can't be changed later.
Creating the template
Go to Configuration → Templates.
Select New Template and choose Response or Submittals.
Choose the Document Type.
Response document types, as they appear in the dropdown:
Administrative Order
Consent Order
NOV
Show Cause Order
Warning Letter
Submittals document types:
Baseline Monitoring Report
Compliance Report
Corrective Action Plan
⚠️ The document type drives how the document is labeled everywhere else — in the Response table, the Documents tab, and the Enforced By field. Pick deliberately.
Building the form
The editor works the same way as permit and inspection templates. Drag what you need from the sidebar onto the page.
System Fields pull in details SwiftComply already holds about the industrial user — name, address, and so on — so you never retype them.
Data Entry fields are what you fill in when you issue the document: findings, required corrective actions, deadlines.
System Tables insert live data as a block.
Response templates add two things of their own:
Issue Date — a system field that fills itself in when you sign the document. Don't build your own date field for this.
Nonconformances — a system table listing the violations the response addresses. It populates itself from whatever you're responding to.
Every violation in that table carries its Type, Definition and Classification. Beyond those three the columns follow the source: violations from a sample report bring the sampling detail — analyte, result and limit, plus the sampling metadata behind them such as sample type, lab method, container, hold time and pacing — while violations from an inspection, a submittal or an ad-hoc entry bring Legal Control, Date/Time, Description and Outfall.
💡 The sidebar lists every column the table can ever hold. A finished document renders only the ones that apply to what you are responding to, so a column you can see in the editor may not appear in the PDF.
💡 Like the tables on permit templates, you choose which rows of the Nonconformances table appear. Select none and the table is left out of the finished document.
What's different about submittal templates
Submittal templates are deliberately simpler. They have no Issue Date field and no Nonconformances table — just system fields and the data entry fields you add.
That's on purpose:
A submittal's due date belongs to the individual document, not the template, so you set it when you attach the requirement to a response.
Any nonconformances raised about a submittal live on the submittal's own page, not inside the document the industrial user filled in.
What happens next
A saved template becomes selectable straight away:
Response templates appear in the template dropdown when you start a document response.
Submittals templates appear when you add a submittal requirement to a response.
Once a document has been generated from a template, that document keeps the content it was built with. Editing the template later changes what future documents look like — it does not rewrite documents you've already issued.
FAQ
My template isn't in the dropdown.
It's in the wrong category. Response templates aren't offered for submittal requirements, or the reverse. Check the category, and build a second template if you need one of each.
The Nonconformances table is missing from a document I issued.
No rows were selected for it. Select the rows you want shown when you fill in the document.
There's no Issue Date field on my submittal template.
Submittal templates don't have one. Set the due date when you add the submittal requirement to the response.
A document won't render as a PDF.
The response addresses more than 1,000 nonconformances, which is the limit for a single document. Split it into several responses with narrower selections.
I can't select the Communications category.
That category isn't available yet. Use the Communications feature for now.
Can I change a template's document type after saving?
No. The document type is fixed when the template is created, so build a new template if you need a different one.
Which columns will the Nonconformances table show?
They follow what you are responding to rather than a setting on the template. Every violation carries Type, Definition and Classification; a sample-report violation adds the analyte, result, limit and the sampling metadata, while an inspection, submittal or ad-hoc violation adds Legal Control, Date/Time, Description and Outfall.
I can see a column in the editor that isn't in my finished document.
The sidebar advertises every column the Nonconformances table can hold, but a document only renders the subset that applies to the source of its violations. Nothing is wrong with the template.
Related articles
Building Inspection Templates
Understanding Permit Templates and System Tables
Configuring Your Pretreatment Program Settings

