Skip to main content
If you already keep subcontractors in a spreadsheet, importing it is the fastest way in. Each row becomes a vendor, and a row with an expiry date and at least one limit also gets a certificate record, so it is checked against your requirements as soon as the import finishes.

Download the CSV template

The 17 column headings the importer reads without any correcting, with three example rows. Delete the example rows before you import.

How to import

1

Save your spreadsheet as CSV

In Excel: File → Save As → CSV. In Google Sheets: File → Download → Comma-separated values. Title rows above your headings are fine: the importer looks for the heading row in the first 15 rows.
2

Open the importer

Go to Vendors and choose Import, or use step 3 of onboarding. The dialog is Import vendors from a spreadsheet. Choose Choose a CSV file.
3

Check what was read

Nothing is saved yet. The preview shows counts for Rows read, No email, No expiry date, No limits and Need checking, a sample of the first 20 rows with any notes, and rows further down the file that need checking.Under What each column was read as, each field WatchMyCover imports shows the heading it was read from. If one is wrong, choose the right heading, or Not imported. The preview is read again with your correction.
4

Choose a project and requirements

Assign to a project is optional. Without it, every imported vendor has to be assigned by hand. The project is chosen here, not in the file.Insurance requirements to apply starts on your default template. Every imported vendor is checked against it.
5

Import

Choose Import n vendors. The confirmation says how many vendors were added and updated. Any row that could not be written stays on screen with the reason.
Importing sends no email. Subcontractors are only emailed once you switch chasing on.

Column reference

These are the headings in the template, in order. Only Company Name is strictly required; Email is needed for chasing. Leave any other cell blank when you do not know it. Your own headings are recognized too, for example Vendor, Subcontractor, Carrier, Exp Date, GL Each Occ, WC, Excess, AI, WOS or PNC, and you can correct any column in the preview.

What an imported certificate looks like

A certificate is created for a row only when it has an Expiration Date and at least one limit. Then:
  • Every coverage with a limit in the row is recorded, with the row’s single expiry date.
  • The effective date is taken as 365 days before the expiry date, or the import day if that is later.
  • The issue date is the import day.
  • The certificate is noted “Imported from a spreadsheet (row n)”.
A row with no expiry date or no limits adds the vendor with no certificate, so it shows as No certificate (or, if its template is missing, Non-compliant) until you record one.
The spreadsheet can only say so much. Check the imported figures against the actual certificates when they come in, and record each certificate properly: it gives each coverage its own dates and records endorsement forms you hold.

Amounts

Accepted: $1,000,000, 1000000, 1M, 1.5M, 1MM, 500K. Also Excel’s scientific notation (1E+06) and space- or dot-grouped thousands (1 000 000, 1.000.000).
  • Words such as Statutory, N/A, None, TBD, See attached, Per contract or See COI are not an amount. No limit is recorded for that coverage, and the row is flagged if the cell had text.
  • A cell holding two amounts, such as $1,000,000 / $2,000,000, uses the first and is flagged. Put the aggregate in its own column.
  • An amount under $1,000 is flagged as not a realistic limit.
  • An amount over $1,000,000,000 is not recorded.
  • A date in a money column is not read as money.

Dates

  • Month first: 12/31/2027, 12-31-2027, 12.31.2027, or with a two-digit year, 12/31/27 (years 00–69 are read as 2000s).
  • ISO: 2027-12-31.
  • Written months: 31-Dec-2027, Dec 31, 2027.
  • Excel date serial numbers.
A cell that cannot be read as a single date, such as a policy period 3/15/26 - 3/15/27, is flagged “Could not read … as a date”, and the row gets no certificate. If a row has several expiry columns (GL Exp, WC Exp), the earliest date is used for the whole row, because that is the one that decides compliance. Columns about licenses, contracts, bonds, permits, experience mods, effective dates or issue dates are not treated as expiry dates.
Dates must be month first. A day-first date such as 31/12/2027 is rejected because there is no month 31, but 03/04/2027 is read as March 4, not April 3. If your spreadsheet uses day-first dates, reformat the column as 2027-12-31 before exporting.

Endorsement columns

The three endorsement columns apply to every coverage in the row. An import never records Endorsement form on file, even when the cell says “On file”: a spreadsheet is not the endorsement. So a vendor whose template requires an endorsement will show Needs review after import until you record the endorsement form. Write No when the endorsement is missing; a blank cell is recorded as stated. See Endorsements and evidence levels.

Re-importing and matching

  • Vendors are matched by company name, ignoring capitalization. A matching row updates the vendor’s trade, contact name, email and phone (blank cells change nothing) and applies the template you chose, rather than creating a duplicate.
  • A row whose policy is already on file, with the same expiry date for a coverage in the row, adds no new certificate. Re-importing the same sheet does not replace certificates you have recorded by hand.
  • A row with a newer expiry date adds a new certificate. An older certificate is set aside only if the new one fully replaces it; see Renewals and several certificates.
  • A row matching an archived vendor is not imported: “Matches an archived vendor. Restore it first to update it from a spreadsheet.”

Limits

  • Up to 500 rows per file. For a longer file the preview says only the first 500 will be imported; split the file and import each part.
  • Files up to 4 MB.
  • Your plan’s vendor limit applies row by row. Rows past the limit are listed as “Your plan’s vendor limit was reached”.

Common mistakes

The template requires endorsements and the spreadsheet can only record them as stated on the certificate. This is expected. Record the endorsement forms as they arrive, or let chasing ask the brokers for them.
The cell said “Statutory” or “Per statute”, which is not an amount. Enter the employers’ liability each-accident figure (for example $1,000,000) in Workers Comp Each Accident.
Dates were day first. Reformat the column as YYYY-MM-DD and import again; rows already on file with the right expiry are left alone.
A heading such as “WC Exp” or “WC Policy #” is never read as a limit, but an unusual heading might be mapped to the wrong column. Correct the column in the preview before importing.
They show No email on file and are not chased. Open each vendor, choose Edit, and add the address, or fix the sheet and import again.
The company name changed between sheets (“Acme Electric” and “Acme Electric LLC” are different names). Keep names identical, or archive the duplicate.