Skip to content

Bordereau Ingestion

Bordereau processing converts a spreadsheet of risk, premium, or claims data into individual Certificate risks. This page covers declarations configuration, bordereau scheduling, and section assignment.

Declaration types

Declarations are the child risks of a Master contract. They are either individual (one risk per declaration) or bulked (bordereau submission).

Individual declarations

  • Placing Type: DEC, Sub-Type: INDIVIDUAL_DEC
  • Dec Type Code (DTC): must be set to 1
  • Configured like Open Market risks with their own risk action workflow
  • Master Placing Sub Type (MPST) is automatically inherited from the parent Master

Bulked declarations (bordereau)

  • Placing Type: DEC, Sub-Type: INBOUND_BORDEREAU
  • Dec Type Code (DTC): must be set to 2
  • Require Reporting Schedule and Bordereau Generation risk actions
  • Require the Risks/Certs tab: set riskDetails.tabs.risksAndCertificates: true in ui_config.json

Standard bordereau risk actions

Risk Action Purpose
asset_management Upload and process the bordereau spreadsheet (SOV). Map spreadsheet columns to defined asset values.
bordereau_data_cleanse Validate uploaded bordereau data against rules. Uses the bordereau_validate_assets initial pipeline.
integration Send bordereau data to downstream systems
asset_mapping_review Review asset mapping decisions before finalising

Bordereau scheduling

After a Master risk is submitted, bordereaux are generated automatically based on the reporting schedule:

Rule Detail
First bordereau Starts on the Master risk inception date
Monthly frequency Subsequent bordereaux start on the 1st of each month
Quarterly frequency Subsequent bordereaux start on the 1st, 3 months apart
Total count Driven by the expected bordereaux count configured in the reporting-schedule risk action

Section assignment

Imported bordereau records must be assigned to contract sections (policies). Three strategies are available:

Strategy Description
Assign All To Single Section User selects one section; all records are assigned to it. Simplest option.
Assign By Coverage-To-Option Mapping User selects a coverage field; records are mapped to sections by matching policy optionName.
Delegate To Client Microservice Recommended for advanced use. Client defines strategy codes in business-constants/section_assignment_strategy.json. Client microservice implements GET /v2/dec-risks/{decRiskId}/assignment-strategy/{strategyCode} returning a SectionAssignmentGroupDO array.

Implementing the client microservice strategy

When using the delegate strategy, the client microservice endpoint receives the declaration risk ID and strategy code, and returns an array of section assignments — one per bordereau row or group of rows:

@GetMapping("/v2/dec-risks/{decRiskId}/assignment-strategy/{strategyCode}")
public ResponseEntity<List<SectionAssignmentGroupDO>> getAssignmentStrategy(
    @PathVariable Long decRiskId,
    @PathVariable String strategyCode) {
    // Implement custom assignment logic
    return ResponseEntity.ok(assignmentService.assign(decRiskId, strategyCode));
}

Bordereau sub-statuses

During bordereau processing, the declaration risk moves through these sub-statuses:

Sub-status Meaning
BULK_VALIDATION_IN_PROGRESS Validation rules are being evaluated against uploaded bordereau rows
BULK_VALIDATION_COMPLETE Validation complete — results are available for review

Validation pipeline

The bordereau_data_cleanse action uses bordereau_validate_assets as its initial pipeline. This pipeline triggers the rules engine to evaluate each bordereau row against the validation rules configured in multi_policy_validation_rules.

Rows that fail validation are flagged with error details. The underwriter reviews flagged rows and either corrects the data or creates an Exemption for an acceptable override.