Page not found

The page you are looking for does not exist or has moved.

Settings/Policy import/Import mapping

New columns in polis-sidoarjo-2026-10-09.csvNew columns in polis-sidoarjo-2026-10-09.xlsxImport mapping · version 2Import mapping · version 1

The file has 3 columns the saved mapping doesn't know, and 1 saved column is missing. Check each row, then confirm. The import runs right after.

The file has 3 columns the saved mapping doesn't know. Pick the Policy field for each column, then confirm. The import runs right after.

Confirmed 02 Oct 2026 by Andi Pratama. The mapping is edited only when a file arrives with new or changed columns.

Confirmed 15 Sep 2026 by Dewi Lestari. The mapping is edited only when a file arrives with new or changed columns.

Suggested by AI · review before confirming
Cancel import
Suggestions are unavailable right nowThe AI service didn't answer, so the new columns start empty. You can map them by hand, or try again later.

XLSX only. The first sheet with data unless you pick another.

The Policy file couldn't be read. Check that it's an XLSX file, or a CSV saved as CSV UTF-8, with the column names in its first row, and upload it again.
1 required field has no columnMap these before the import can run:
  • Chassis number
Another Policy import is already running. You can upload the next file when it finishes.
The file's columns and their Policy fields
Column in your fileSample valuesPolicy fieldNotes
NO_POLIS01.203.2026.008811 · 01.203.2026.008812Policy number
Saved
NO_END0 · 1 · 2Endorsement number
Saved
PRODUKMobil Plus · Mobil DasarProduct
Saved
JENIS_COVERCOMP · TLOCover
Saved2 codes
PERLUASANBANJIR · HURA-HARAExtensions
Saved
STATUS_POLISAKTIF · BATAL · LAPSE · TGKStatus
Saved4 codes
KODE_ALASAN LP · JL · TL
NewLow confidence3 codes

The AI is unsure; check the sample values.

TGL_MULAI01/10/2026 · 05/10/2026Start date
Saved
NO_RANGKA_KEND MHKA1BA1JLK012345 · MHFM1BA3JK8004512
NewRequiredSuggested
TGL_EFEKTIF_END 01/10/2026 · 07/10/2026
NewSuggested
NO_RANGKAMissing from file
—Was Chassis numberReplaced by NO_RANGKA_KEND above.

10 of 32 columns shown. Every required field must have a column before Confirm is enabled.

Code values

What each code in a code column means. A code left untranslated rejects its row.

JENIS_COVER → Cover

COMP→
Saved
TLO→
Saved

STATUS_POLIS → Status

AKTIF→
Saved
BATAL→
Saved
LAPSE→
Saved
TGK→
Suggested

KODE_ALASAN → Status reason

LP→
Suggested
JL→
Suggested
TL→
Low confidence

TIPE_KLIEN → Client type

P→
Saved
B→
Saved

PENGGUNAAN → Usage

PRIBADI→
Saved
KOMERSIAL→
Saved

The AI saw only your column names and code values, never names, ID numbers, phones or plates.

Sheet
Polis
The mapping's columns
Column in your filePolicy field
NO_POLISPolicy number
NO_ENDEndorsement number
PRODUKProduct
JENIS_COVERCover
PERLUASANExtensions
STATUS_POLISStatus
TGL_MULAIStart date
TGL_AKHIREnd date
NAMA_TERTANGGUNGClient name
TIPE_KLIENClient type
NIK_NPWPClient ID number
NO_HPClient phone
EMAILClient email
NO_PLATPlate
NO_RANGKAChassis number
NO_MESINEngine number
MEREKMake
MODELModel
VARIANVariant
TAHUNYear
WARNAColour
PENGGUNAANUsage
HARGA_PERTANGGUNGANSum insured
PREMIPremium
RISIKO_SENDIRIOwn risk
TERTANGGUNG_LEASINGLoss payee
KODE_CABANGBranch code
KD_CABANGBranch code
SALURANChannel
KODE_AGENAgent code
KET_INTERNALNot imported

Code values

JENIS_COVER → Cover

  • COMP→Comprehensive
  • TLO→TLO

STATUS_POLIS → Status

  • AKTIF→In force
  • BATAL→Cancelled
  • LAPSE→Lapsed

TIPE_KLIEN → Client type

  • P→Individual
  • B→Company

PENGGUNAAN → Usage

  • PRIBADI→Private
  • KOMERSIAL→Commercial

To change the mapping, upload a file whose columns differ; this screen opens for the new ones.

  • Version 202 Oct 2026 · Andi Pratama
  • Version 115 Sep 2026 · Dewi Lestari
  • Version 202 Oct 2026 · Andi Pratama
  • Version 115 Sep 2026 · Dewi Lestari
  • Needs policyImport.create: without it, the 404 page in the content, with the Shell around it. It sits outside the Settings frame.
  • ?import={id} reviews that import's columns, &sheet= picks an XLSX sheet. Without import it shows the current mapping read-only, ?version={id} an older one. No mapping yet, or an unknown import, sends the Person to Policy import. Loading shows the title "Import mapping" alone.
  • It opens only when an upload's header row differs from the saved mapping. Saved columns stay as saved; the first 7 show with every new one, and Show all lists the rest. A saved column missing from the file shows what it was, and what replaced it.
  • The AI saw only the header row and the code columns' values, and suggests a field for each new column and a meaning for each new code; below 0.7 confidence it is marked Low confidence. Each suggestion and the decision on it are kept (AI-02). Without the AI the new columns start empty.
  • Confirm is disabled while a required field has no column. Every field is required but Extensions, Client phone, Client email, Loss payee, Status reason and Endorsement effective date. A code left untranslated rejects its row; a saved code column keeps translations the file no longer lists.
  • Confirm saves a new version and runs the import at once. Refusals: POLICY_MAPPING_INCOMPLETE (marked on the rows suggesting the field), POLICY_IMPORT_RUNNING, CONFLICT, VALIDATION, NOT_FOUND.
  • Cancel import and the back arrow leave the import waiting for its mapping; Review in Import history reopens it.
  • A form page: breadcrumb, then a back arrow beside the title, with Cancel import and Confirm and run import on the right of the head; Cancel import takes the form page's outline. The AI chip moves under the intro, as the head's right holds the actions.
  • The "Settings" crumb opens Organisation › Company.
  • Confirmed is a toast on Policy import, where the import runs.
  • A sheet that can't be read keeps Cancel import in the head and hides Confirm, as there is no form to confirm.
  • The read-only mapping stays a page: it has no list to sit over as a side panel.
  • Main's copy over policy-import.html's (PR #493) everywhere: the codes note, "Not translated" first, all 31 fields, the low-confidence note, the missing-field list.
  • Show all is not wired in the prototype.
  • main → spec: the head: a back icon button beside the title, to Policy import, with Cancel import and Confirm and run import on its right (main puts them at the foot); the AI chip under the intro.
  • main → spec: the "Settings" crumb links /settings/organisation; main's /settings lands on Personal › Account.
  • main → spec: Confirm lands on Policy import with a toast, "Mapping confirmed" / "Version {n} saved."; the confirmed intro, banner, tables and "Go to Policy import" go.
  • main → spec: without policyImport.create the page answers the 404 page in its content, with the Shell around it, in place of main's redirect to the landing page with "You don't have access to that page."
  • No access is the 404 page, in the page's content only: the Shell, and in Settings the tabs and menu, stay around it. Main's redirect with "You don't have access to that page." goes. (12 Oct 2026)

From main's web/src/ui/ImportMapping; policy-import.html (PR #493) for the layout