Template · field to source

Data mapping template for data migration: every agency field, sourced

A data mapping template is only useful if every target field names its source, its code translation, how sure the mapper was and who approved it. Here are the columns for moving an insurance agency's system after an acquisition, a filled example, and how Agency Acquisition Data Migration keeps the doubtful rows in front of a person.

Updated · 12 min read

A data mapping template for data migration is a table with one row for every field in the target system, saying which source field feeds it, how the value is transformed, which code list translates it, how confident the mapping is, what evidence supports it, and who approved it and when. For an insurance agency system after an acquisition, the rows run across clients, policies, coverages, carriers, producers and activities, and the hard rows are the ones where the seller's data means something private: a status code with two meanings, a carrier code shared by two companies, a free-text field that holds a declined coverage. The template's job is to make each of those a recorded decision instead of a guess. Botminds' Agency Acquisition Data Migration builds the same map as a canvas: a field and code mapper proposes every row with its confidence and sample values checked against declarations pages, approves on its own only at or above the threshold you set, and leaves the doubtful rows for your analyst with a drafted rule.

Copy the columns below into a spreadsheet if that is where your team works. The example rows come from the solution's fictional sample acquisition, in which a buyer, Calder & Pike, maps Bramblewood Insurance Agency's 146 fields and 1,094 code values onto its own system.

The data mapping template: twelve columns for an agency system migration

ColumnWhat goes in itWhy it is there
Target fieldEntity and field in the buyer's system, such as Policy · Policy statusOne row per target field; nothing in the target is left unexplained
Target type and listText, date, money, person, or the code list it must come fromTells you which rows need a code map
Source table and fieldWhere the value comes from in the seller's export, such as POLICY.STATUSThe trail back to the original data
Sample valuesThree to five real values, including an odd oneMost mapping errors show up in the samples
Transformation ruleFormatting, splitting, joining or a conditional rule in plain wordsA rule a second person could apply the same way
Code mapThe code table this row uses, with its own row per valueCodes are mapped value by value, not field by field
ConfidenceA percentage, or High / Doubtful if mapped by handDecides who has to look at the row
EvidenceCounts and documents behind the rule, such as declarations pagesLets a reviewer check the decision without redoing it
StatusMapped, doubtful, or not carried"Not carried" is a decision, not a blank
Decided by and dateThe person who approved the rowAccountability, and the first question an auditor asks
Rule versionA number that changes when the rule changesTest loads can be compared rule version by rule version
Archive locationWhere the source value lives if it is not carriedRetention duties outlive the mapping
A template for agency system migrations; the column set follows the solution's mapping canvas. Use your own entity names on the target side.

What is a data mapping template?

A data mapping template is the agreed record of how each value in the new system will be produced from the old one. It is sometimes called a source-to-target map, a field map or a data mapping document, and it does three jobs at once: it is the specification the load is built from, the checklist the test load is checked against, and the evidence that someone decided each translation on purpose.

The third job is the one a bare two-column template misses. A spreadsheet with a target column and a source column is a specification; it becomes evidence only when each row also says how sure the mapper was, what the decision rested on and who made it. After an acquisition that matters, because the person who understood the seller's data, often one of the seller's staff, may not be there when the first renewal goes wrong.

What columns should a data mapping document have?

Twelve, in three groups: where the value goes and comes from (target field, target type, source field, sample values), how it is translated (transformation rule, code map), and why anyone should believe it (confidence, evidence, status, decided by, rule version, archive location). The template above lists them with what each holds.

Two columns earn their place only on agency migrations. Sample values catch the problems that field names hide: a field called FEIN that holds nine digits without a hyphen, or an address field that holds a PO box on one record and a street on the next. Archive location answers a question that arrives months later: where is the value we decided not to carry? An agency's records of policies transacted have their own retention clock, five years after policy expiration in Florida (Fla. Stat. §626.748), and a mapping decision does not stop it. The record retention guide for acquired agencies sets out the clocks.

The template filled in for an agency system: clients, policies, servicing

Filled in, most rows are dull and a few are not. The example below shows real rows from the sample acquisition, chosen to include the kinds that go wrong.

Example rows from a filled agency mapping template

Target fieldSource field and sampleRuleConfidence and status
Client · Client nameCUST_NAME: ACME ROOFING & SHEET METAL LLCCopy; keep legal suffixConfident · mapped
Client · Tax IDFEIN: 482917305Format as 48-2917305Confident · mapped
Client · Doing business asCUST_DBA: ACME ROOFINGCopy; never used to merge on its ownConfident · mapped
Policy · Writing carrierCO_CODE: CWC01Via the carrier code map to the companyConfident · mapped
Policy · Policy typePOL_TYPE: PKG-XWaiting on a rule71% · doubtful
Policy · Policy statusSTATUS: RRenewed when the policy number carries over, otherwise Rewritten61% · decided by a person
Policy · Annual premiumPREM_ANN: 38420.00Money, two decimals; tie out to the centConfident · mapped
Servicing · Account managerCSR_INIT: HBInitials to a person; two staff shared some initials68% · doubtful
Servicing · Coverage declinedNOTES_1: "Disc. umb w/ Gary ... Decl. due to cost"Read declinations out of free-text notes into a log74% · doubtful
(none)XMAS_LIST: YNot carried; kept in the archiveNot carried · a person's decision
Fictional sample data from the solution's mapping canvas. The confidence figures are the mapper's; below the 95% auto-approve threshold set for this integration, a person decides.

Three of those rows deserve a second look. The tax ID row is a formatting rule, but it is also the key the client matcher will use to find duplicates, so a wrong format silently splits one insured into two. The status row is a conditional rule written in words a second analyst could apply the same way. And the notes row is the template reaching beyond fields: some of the most important data in an agency system is a sentence typed by a person, and mapping it means reading it.

The template as a canvas: every target field drawn to its source

The book of business mapping canvas. On the left, the seller's source fields with sample values, such as CUST_NAME Acme Roofing & Sheet Metal LLC, FEIN 482917305, CO_CODE CWC01, LOB_CD CPKG, POL_TYPE PKG-X, STATUS R, CSR_INIT HB and NOTES_1; on the right, the buyer's target fields grouped as client, policy and servicing. Confident mappings are solid lines, doubtful ones dashed amber with their confidence, and XMAS_LIST is struck through as not carried. Counters show 131 confident, 11 doubtful and 4 not carried, and a sample policy panel shows the record as it will load with three values waiting on a decision.
Fictional sample data. Solid lines are confident mappings, dashed lines doubtful ones with their confidence, and struck-through fields are not carried; the sample policy on the right shows the result.

How do you map codes between two systems?

Value by value, in a code map of its own, with the number of records that use each value and the evidence for each translation. A field-level row that says "line of business → line of business" hides the real work, which is deciding what each of the seller's line codes means in the buyer's list.

Anchor what you can to identifiers outside both systems. For carriers that means the NAIC company code; for carrier families it means the NAIC group code, "a unique three to five digit number assigned by the NAIC to identify those companies that are part of a larger group of insurance companies" (NAIC glossary). A seller's carrier list often names the group where the policy was written by one company in it, and appointments, commissions and downloads all depend on the company. In the sample, one seller carrier code covered Ridgeline Indemnity on 119 declarations pages and Ridgeline Mutual on 8; the code map row split it by what each declarations page said.

Lines of business have no single external list that every agency system uses, which is why the code map needs its own evidence column. The NAIC's glossary defines a line of business only as a "classification of business written by insurers", and each agency system classifies differently. In the sample, the seller's INMRC code on 342 policies covered both contractors equipment and builders risk, so no single translation was right; the rule has to decide policy by policy, and the declarations page is where each policy's coverage is named.

A code map: one row per source value

Source valuePoliciesTarget valueConfidenceEvidence
CPKG1,018Commercial packageConfidentDeclarations pages agree
INMRC342Contractors equipment or builders risk63%Decide policy by policy; the declarations page names the coverage
RDG2127Ridgeline Indemnity (119) or Ridgeline Mutual (8)64%Insurer named on each declarations page
R (status)1,286Renewed (1,212) or Rewritten (74)61%, decidedPrior-term policy number and prior carrier
P (status)58Quoted, not bound81%Mapper's proposal; confirm against the quotes on file
Fictional sample data. 1,062 of the sample's 1,094 code values mapped with confidence; these are five of the 32 that did not.

How do you handle fields with no match?

Decide each one, and record the decision. A field with no match falls into one of three cases: the target has a field the source lacks, the source has a field the target lacks, or both have the field but the values do not translate. Each needs a different answer, and none of them should be left blank.

When the target field has no source, decide whether to default it, derive it or collect it, and write which in the rule column; a defaulted renewal date or carrier is worse than an empty one, because nobody looks at it again. When the source field has no target, mark it not carried, give the reason and point to where the value is archived; in the sample, four fields were proposed as not carried and each was a person's call. When the values do not translate, the row is doubtful by definition: it goes to a person with the counts and documents, as the status, carrier and line codes did in the sample.

One class of unmatched data deserves special care: records a regulator expects the agency to be able to produce. New York, for example, requires a licensee who charges a fee for reviewing or advising on a policy to keep the signed fee memorandum for at least three years after the services are performed (N.Y. Ins. Law §2119). If the buyer's system has no field for it, the attachment still has to travel, linked to its client.

How the sample's mapping rows ended the first pass

146 fields

90%
7%
3%
  • Confident, 131 · 90%
  • Doubtful, 11 · 7%
  • Not carried, 4 · 3%

1,094 code values

97%
3%
  • Confident, 1,062 · 97%
  • Doubtful, 32 · 3%
Fictional sample acquisition, at the start of mapping; percentages rounded. The doubtful rows are where the template's evidence and approver columns do their work.

Recording the doubtful rows for a person

A doubtful row needs four things beside the usual columns: the competing interpretations, the count of records behind each, the documents that decide between them, and a proposed rule. With those, an analyst can decide in minutes; without them, the analyst has to redo the mapper's research.

The sample's status row shows the format. The question: status "R" is on 1,286 policies; renewed or rewritten? The evidence: 1,212 policies kept their number from the prior term; 74 had a new number and a different prior carrier; the seller's previous system version had used one code for both. The proposed rule: renewed when the policy number carries over, otherwise rewritten. The options: approve the rule, map everything as renewed, map everything as rewritten, or ask the seller's account manager. The person approved the rule, the template recorded who and when, and the rule applied to every record.

What every doubtful mapping row should carry

  1. The question in one line

    What has to be decided, in the words of the business, not the field name.

  2. Each interpretation with its count

    How many records each reading would affect.

  3. The documents that decide it

    Declarations pages, prior-term records, the seller's own manuals.

  4. A proposed rule

    Written so another analyst would apply it the same way.

  5. Who can answer

    The seller's staff member who knows the code, if the documents do not settle it.

  6. The decision, who and when

    With a new rule version, so the next test load shows what changed.

Who approves a data mapping?

The data migration analyst approves individual rows; the integration manager accepts the map as a whole. In the sample integration, rows at or above 95% confidence need no person, rows between 90% and 94% can be approved in one batch, and everything below goes to the analyst one row at a time, with the integration manager able to accept a still-doubtful row at sign-off only with a written reason.

The thresholds are settings, and choosing them is itself an approval. Lowering the auto-approve level saves review time and moves risk into the load; raising it does the reverse. Whoever sets them should be the person who will sign the day-one load. The six-week integration plan puts the signed field map at the end of week one.

What is a source to target mapping, and where does a spreadsheet stop?

A source-to-target mapping is the same thing as a data mapping template: each target field with the source that feeds it. A spreadsheet is a fine place to start one and a poor place to finish it, for three reasons: it does not version its rules, it cannot show the records each rule affects, and it cannot tell you which test load used which version of the map.

Those gaps matter most in the last two weeks. A rule changed on a Thursday, applied to a test load on Friday and changed again on Monday leaves three versions of the truth unless something records them. The solution saves every rule change as a new rule version with who and when, which is what lets the integration manager compare test loads and see that a count moved because a rule moved.

How do you test a mapping before the load?

Run sample records through the map and compare the result with their source documents, then run a full test load and tie it out. Sample records show whether the rules do what they say; the tie-out shows whether anything was lost or doubled.

Declarations pages are the natural test source, because they are what the carrier issued. Federal flood insurance rules make the same point for transfers between insurers: the receiving insurer collects the prior insurer's declarations page and "must validate the information when there is a discrepancy between the building descriptions in the policy underwriting file and the prior insurer's declarations page" (FEMA, NFIP Flood Insurance Manual, October 2025). In the sample, the declarations reconciler compared every policy with its page and found 142 that disagreed, each difference cited to its page for a person to decide before the day-one load. Policy Servicing's data migration plan template covers the test-load cycle for carrier conversions.

One approved rule turns a dashed line solid and updates every record

The mapping canvas after a decision: the STATUS line to policy status is now solid with a check mark, the counters read 132 confident, 10 doubtful and 4 not carried, and the doubtful list shows STATUS as decided. The sample policy panel shows the commercial package now reading Active, renewed from the 2024–25 term, with two values still waiting on a doubtful mapping.
Fictional sample data. The sample policy shows the effect of the rule on a real record before the next test load runs.

Questions people ask

Is there a free data mapping template in Excel?

The twelve columns on this page are the template; paste them into a spreadsheet as headers and add one row per target field, with a separate sheet for each code map. Add a rule version column from the first day, because a spreadsheet will not track changes for you.

How do you document a data migration?

With four records: the mapping template, the code maps, the decisions on doubtful rows with who and when, and the tie-out of each test load against the export. Together they let someone who was not there reconstruct why each value in the new system is what it is.

How many fields does an agency system migration involve?

It depends on the system and the modules in use. The solution's fictional sample export had 41 tables and 146 fields that mattered on the buyer's side, plus 1,094 code values; code values, not fields, are usually where the hours go.

Should the seller's staff review the mapping?

Yes, for the doubtful rows. The seller's account managers often know what a code meant in practice, which no document records. Ask them specific questions, with the counts and examples in front of them, rather than handing them the whole map.

What happens to the mapping after go-live?

Keep it with the integration file. It explains every converted value for as long as the converted records are kept, and it is the starting point for the next acquisition, whose seller will have different codes but often the same kinds of problems.

Agency Acquisition Data Migration.
See it on your own files.

An agentic solution from Botminds. An acquired agency's book read policy by policy, cleaned, mapped into your system, with open E&O exposures listed before day one. Book a demo, or explore how it works.