A Certificate of Analysis (CoA) is a formal document confirming that a batch of product meets its quality and safety specifications. In Meiver, CoA Templates define the set of tests to run — you create them once and reuse them across every batch, generating a branded, print-ready CoA document in seconds.
10 min read
Pro & Enterprise
Settings → CoA Templates
What you'll need
Plan requirement
Pro or Enterprise plan is required to create, edit, and delete templates. All plans can view existing templates.
Permission
coa.create/update/delete or Tenant Admin role. Read-only users can view but not modify templates.
What you'll create
A named template with a list of test parameters (test name, specification, unit, method). Up to 50 parameters per template.
Navigate to CoA Templates
1
Open your dashboard
Sign in to your Meiver account and land on the main dashboard.
2
Expand Settings in the sidebar
Click Settings in the left sidebar to expand it. Sub-items will appear beneath it.
If Settings is not visible, your account lacks the required permission. Contact your Tenant Admin.
3
Click CoA Templates
Under Settings, click CoA Templates. Full path: Dashboard → Settings → CoA Templates. URL: /dashboard/settings/coa-templates.
What is a CoA template?
A CoA template is a reusable test parameter set. It answers the question: “What tests does this product need to pass?” Each template holds:
Template details
Name — unique identifier (max 120 chars)
Description — optional context (max 500 chars)
Scope — entity-wide, by category, or by SKU
Default flag — pre-selected when generating CoAs
Signatory name & title — who signs the CoA
Wallet address — optional blockchain DID (future)
Test parameters (up to 50)
Test name — e.g. Moisture Content
Specification — e.g. ≤ 5.0%
Unit — e.g. %, mg/kg, CFU/g
Test method — e.g. AOAC 925.10
Display order — controls row order in the CoA table
When you generate a CoA from a batch, staff enter the actual result for each parameter. Meiver compares the result against the specification and automatically marks each row as PASS, FAIL, or PENDING.
Create a template
1
Click New Template
On the CoA Templates page, click the + New Template button. A modal dialog opens.
2
Enter template details
Fill in the fields in the modal:
Field
Required?
Notes
Template name
Yes
Unique per entity, max 120 chars
Scope
Yes
Entity-wide / By Category / By SKU (see Template scope section)
Description
No
Up to 500 characters of context
Signatory name
No
Printed on the CoA signature line, e.g. Dr. Priya Sharma
Signatory title
No
Role printed below the name, e.g. Head of Quality Control
Set as default
No
Pre-selects this template when generating CoAs
Wallet address
No
Blockchain DID for signatory identity (Advanced — optional)
3
Click Create
Click the green Create button. The template is saved and appears in the template list. You can now add test parameters to it.
You can create multiple templates and assign them to different SKUs or categories. The default template is pre-selected in the batch CoA workflow for quick access.
Add test parameters
Test parameters are the rows of the CoA table — each one defines a single test that must be performed on the batch. Click on any template card to expand it and manage its parameters.
1
Expand the template card
In the template list, click on a template row to expand it. You will see the list of existing parameters and an + Add parameter button.
2
Fill in the parameter form
Click + Add parameter and fill in:
Test name (required) — e.g. Moisture Content, Total Plate Count, Heavy Metals — Lead
Specification — e.g. ≤ 5.0%, < 10 CFU/g, Not detected
Unit — e.g. %, mg/kg, CFU/g, ppm
Test method — e.g. AOAC 925.10, ISO 4833-1
Display order — number controlling row position in the CoA (lower = higher up)
Each template can hold up to 50 parameters. Parameters are ordered by Display order ascending.
3
Save the parameter
Click Add. The parameter appears in the template's parameter list immediately. Repeat for each test you need.
4
Edit or delete existing parameters
Each parameter row has an Edit (pencil) button to update any field, and a Delete (trash) button to remove it. Deleting a parameter does not affect CoAs already generated.
Removing a parameter from the template only affects future CoAs. Previously generated CoAs are stored documents and are not changed.
Template scope
Scope controls which batches a template appears for when generating a CoA. Templates are filtered at generation time — only relevant templates are offered, making it easy to pick the right one.
Entity-wide
Applies to all batches in the entity
The most general scope. This template is offered for every batch regardless of SKU or category. Use this for tests that apply across your entire product range (e.g. a general microbiology panel).
By Category
Applies to all SKUs in a specific category
Scoped to a single product category (e.g. 'Packaged Foods', 'Beverages'). When a batch is created for any SKU in that category, this template is offered. Type or select an existing category from your SKU catalogue.
By SKU
Applies to one specific SKU only
The most targeted scope. Only offered when generating a CoA for the exact SKU selected. Use this for products with unique test specifications that differ from every other product.
A template cannot be scoped to both a SKU and a Category simultaneously. Choosing one clears the other.
Set a default template
Marking a template as default means it is automatically pre-selected in the CoA generation workflow for each batch — saving staff from having to pick a template every time.
1
Open a template for editing
Click the Edit (pencil) icon on the template you want to set as default. The edit modal opens.
2
Check Set as default template
Tick the Set as default template checkbox and click Save. Any previously marked default template is automatically unset — only one default can exist per entity.
The default template is indicated by a star badge in the template list. It is still possible to select a different template when generating a CoA — the default is just a convenient starting point.
Edit a template
Template metadata (name, description, scope, signatory, default flag) is edited via modal. Test parameters are edited inline inside the expanded template card.
1
Click the Edit icon on the template row
Find the template in the list and click the pencil icon. The edit modal opens with all fields pre-filled.
2
Update the fields you need to change
Any combination of name, description, scope, signatory details, default flag, or wallet address can be updated. Changing scope automatically clears the previous scope value (e.g. switching from By SKU to By Category clears the skuId).
3
Click Save
Click Save. Changes take effect immediately for all future CoA generations. Existing generated CoA documents are not affected.
Renaming a template does not update the name on CoAs already generated from it. Generated CoAs are static documents stored as files.
Bulk import via CSV
If you have many templates or are migrating from a LIMS or spreadsheet, the CSV import lets you load templates and all their parameters in one upload.
1
Download the sample CSV
On the CoA Templates page, click Download sample CSV to get a template file with 3 example templates and 15 parameters pre-filled. Use this as your starting point.
2
Prepare your CSV file
Your file must be a .csv with these 10 columns in order:
Column
Notes
template_name
Required. Rows with the same name form one template.
description
Optional. Template description.
sku_code
Optional. Scopes template to one SKU. Takes priority over category.
category
Optional. Scopes template to a product category.
signatory_name
Optional. Printed on the CoA signature line.
signatory_title
Optional. Printed below the signatory name.
test_name
Required per row. Name of the test.
specification
Optional. Pass/fail specification (e.g. ≤ 5.0%).
unit
Optional. Measurement unit (e.g. %, mg/kg, CFU/g).
test_method
Optional. Standard or internal method reference.
File size limit is 512 KB. Only .csv format is supported.
3
Click Import CSV and upload
Click Import CSV, select your file. The system parses it client-side first and shows you a preview — you can see how many templates and parameters will be created, any conflicts (template names that already exist), and parse errors before anything is saved.
4
Review conflicts and confirm
If any template names already exist, a conflict warning appears with an Overwrite option. Enabling overwrite replaces the conflicting templates entirely (including all their parameters). Uncheck it to skip conflicting names. Click Import to confirm.
Overwriting a template deletes all its existing parameters and replaces them with the ones from the CSV. Previously generated CoA documents are not affected.
Generate a CoA from a batch
Once you have templates set up, generating a CoA for any batch is a straightforward process.
1
Open the batch
Navigate to Batches in the dashboard, find the relevant batch, and click into it to open the batch detail page.
2
Go to the CoA tab
Inside the batch detail page, click the CoA tab. The system loads all templates scoped to this batch's SKU and entity.
3
Select a template
Choose a template from the dropdown. The default template (if any) is pre-selected. The template's test parameters appear as a table below.
Only templates matching the batch's SKU, category, or entity-wide templates are shown. Templates scoped to a different SKU are filtered out.
4
Enter actual test results
For each parameter row, enter the actual result value obtained from your lab. Meiver compares it against the specification and auto-assigns a status badge: PASS, FAIL, or PENDING (if left blank).
5
Click Generate CoA
Click Generate CoA. Meiver builds a fully formatted A4 PDF document and stores it as a document attached to the batch. The overall status is PASS only if all rows pass; any failure makes the overall status FAIL.
The generated CoA includes your entity's logo and brand colour automatically. Make sure your entity settings have a logo uploaded for the best result.
What the CoA contains
Meiver generates a print-ready, A4 portrait HTML document. Here is what each section contains:
Header
Entity logo and name, CoA number (auto-generated), generation date, and overall status badge (PASS / FAIL / PENDING).
Product info
SKU name, SKU code, product category, and storage requirements.
Batch details
Batch number, lot code, manufacturing date, expiry date, and quantity with unit.
Test results table
One row per parameter: test name, specification, actual result entered by staff, status badge, test method, and tested date.
Signatory section
Signature line with the signatory name and title from the template. Includes a declaration statement.
Footer
Page numbers and document reference.
Permissions & plan
Plan requirement
Creating, editing, and deleting templates requires a Pro or Enterprise plan. Users on the free plan can view templates but cannot create or modify them. If you see a plan upgrade prompt on the CoA Templates page, contact your account owner to upgrade.
Permission
What it allows
read
View CoA templates and their parameters
create
Create new templates, add parameters, bulk import CSV
update
Edit template details and parameters
delete
Delete templates and individual parameters
Troubleshooting & FAQs
I don't see a CoA Templates option in the sidebar.+
Your account either lacks the read permission on the coa module, or your plan does not include CoA features. Contact your Tenant Admin to check permissions. If you are on the free plan, an upgrade to Pro or Enterprise is required.
The New Template button is greyed out or not visible.+
You have read-only access to CoA templates, or your current plan does not allow creating templates. Ask your Tenant Admin to grant you the coa.create permission, or upgrade your plan.
A template I created is not appearing in the batch CoA tab.+
Check the template's scope. If it's scoped to a specific SKU, it only appears for batches linked to that exact SKU. If scoped by Category, the batch's SKU must have that category set. Entity-wide templates always appear.
The generated CoA doesn't show my company logo.+
Make sure your entity has a logo uploaded in Entity Settings. The logo is pulled from your entity profile at generation time.
The CSV import is rejecting my file.+
Only .csv files are accepted (not .xlsx or .xls). Check that you have all 10 required column headers in the correct order. Ensure there are no blank rows at the top of the file.
Can I have more than 50 parameters on one template?+
No. Each template is capped at 50 parameters. If you need more, consider splitting your tests across two templates — for example, one for microbiological tests and one for chemical/physical tests.
I deleted a template — will this affect CoAs already generated from it?+
No. Generated CoAs are static HTML documents stored as files. Deleting the template does not change or remove any previously generated CoA documents.
Can I reuse the same template across multiple entities?+
Not directly — templates are scoped to a single entity. You can recreate a template in another entity manually or use the CSV import to upload the same parameter definitions into each entity.
Ready to create your first CoA template?
Define your test parameters once and generate professional CoA documents for every batch in seconds.