adv-recon
Subcommands of simetrik adv-recon.
simetrik adv-recon list
List advanced reconciliations in the workspace (filter with --search).
Lists the advanced reconciliations in your workspace. An advanced reconciliation is a Simetrik resource that matches two sides (A and B) through one or more sweeps; this command queries the resource catalog filtered to that resource type and returns each one with its ID and name.
Use it to find the adv_recon_id you need for adv-recon describe, adv-recon execute, or
adv-recon sweep-create. Narrow the results by name with --search and cap them with --limit
(default 50). For the full configuration of a single one, follow up with adv-recon describe.
See also: adv-recon describe, adv-recon create. Requires CLI access to the workspace. See permissions.
Flags
-s, --search <query>— Search by name-l, --limit <n>— Max results-f, --format <fmt>— Output format: table|json
Examples
simetrik adv-recon list
simetrik adv-recon list --search nomina --limit 20
simetrik adv-recon list --format jsonExit codes
| Code | Meaning |
|---|---|
0 | Advanced reconciliations listed |
1 | Server rejected the request |
2 | Invalid input — non-numeric --limit |
4 | Authentication required — run simetrik login |
simetrik adv-recon create
Create an advanced reconciliation
Creates an advanced reconciliation — a Simetrik resource that holds the reconcilable groups (the
sides) you later match with sweeps. The --groups flag is required and takes a JSON array
describing each side; the command posts name plus reconcilable_groups to build the shell.
Reach for this to start a new matching workflow that needs the advanced engine (segmentation,
multi-sweep, M:1/M:M cardinalities, compensation). It only creates the container — afterward
define matching with adv-recon sweep-create, optionally scope with adv-recon segmentation,
choose output columns with adv-recon column-select, then run it with adv-recon execute. The
--folder flag places it in a folder. Output defaults to JSON; capture the returned ID for the
follow-up commands.
See also: adv-recon update, adv-recon sweep-create, adv-recon execute. Writes require reconciliations · create_edit_configure. See permissions.
Arguments
name— Advanced reconciliation name
Flags
--groups <json>— JSON array of reconcilable groups-d, --description <text>— Description--folder <id>— Folder ID-f, --format <fmt>— Output format: table|json
Examples
simetrik adv-recon create "Nomina vs Banco" --groups '[{"name":"A","resource_id":101},{"name":"B","resource_id":202}]'
simetrik adv-recon create "Pagos PSP" --groups '[{"name":"PSP","resource_id":55}]' --folder 12 --description "Conciliacion mensual"Exit codes
| Code | Meaning |
|---|---|
0 | Advanced reconciliation created |
1 | Server rejected the request |
2 | Invalid input — missing name, or malformed --groups JSON |
4 | Authentication required — run simetrik login |
simetrik adv-recon update
Update an advanced reconciliation's name or description (metadata only).
Updates an advanced reconciliation's metadata — its name and/or description. It's a partial
update: pass only the flags you want to change (--name, --description) and the rest stay as they
are. The first argument is the numeric adv_recon_id.
This does not touch the sides, sweeps, segmentation, or output columns. To change matching rules use
adv-recon sweep-update; to inspect the current configuration use adv-recon describe.
See also: adv-recon create, adv-recon describe, adv-recon sweep-update. Writes require reconciliations · create_edit_configure. See permissions.
Arguments
adv_recon_id— Advanced reconciliation ID
Flags
--name <n>— New name-d, --description <text>— New description-f, --format <fmt>— Output format: table|json
Examples
simetrik adv-recon update 4501 --name "Nomina vs Banco (2026)"
simetrik adv-recon update 4501 --description "Conciliacion mensual revisada"Exit codes
| Code | Meaning |
|---|---|
0 | Advanced reconciliation updated |
1 | Server rejected the request |
2 | Invalid input — non-numeric adv_recon_id |
4 | Authentication required — run simetrik login |
simetrik adv-recon describe
Show an advanced reconciliation's full configuration: sides, sweeps, segmentation, and output columns.
Returns the full configuration of one advanced reconciliation by its resource_id — its sides,
sweeps, segmentation, selected output columns, and current state. This is the read-only counterpart
to the mutating commands: use it to confirm what's configured before you change or run anything.
Use adv-recon list when you only need to find an ID by name; use describe once you have the ID
and need the detail (for example, to read the sweep and column IDs that adv-recon sweep-create or
adv-recon column-select require). Output defaults to JSON.
See also: adv-recon list, adv-recon execute. Requires CLI access to the workspace. See permissions.
Arguments
resource_id— Resource ID
Flags
-f, --format <fmt>— Output format: table|json
Examples
simetrik adv-recon describe 4501
simetrik adv-recon describe 4501 --format tableExit codes
| Code | Meaning |
|---|---|
0 | Configuration returned |
1 | Server rejected the request |
2 | Invalid input — non-numeric resource_id |
4 | Authentication required — run simetrik login |
simetrik adv-recon execute
Execute an advanced reconciliation
Runs an advanced reconciliation: it queues the matching job that applies the configured sweeps to
the current data on both sides. By default it returns immediately with an event ID. Pass --wait to
poll until the task finishes (every 5 seconds, up to --timeout seconds, default 120); under
--wait a failed task exits 1 and a poll that runs out of time exits 3.
Use --reprocess to re-run over existing loaded data, and --new-version to produce a new version
of the output rather than overwriting. Execution produces results in a draft state — to persist them
run adv-recon confirm afterward. Configure the matching with adv-recon sweep-create before the
first execute.
See also: adv-recon confirm, adv-recon sweep-create, adv-recon describe. Requires reconciliations · execute. See permissions.
Arguments
adv_recon_id— Advanced reconciliation ID
Flags
--reprocess— Reprocess existing data--new-version— Create new version-w, --wait— Wait for completion-t, --timeout <n>— Timeout in seconds-f, --format <fmt>— Output format: table|json
Examples
simetrik adv-recon execute 4501
simetrik adv-recon execute 4501 --reprocess --wait
simetrik adv-recon execute 4501 --new-version --wait --timeout 300Exit codes
| Code | Meaning |
|---|---|
0 | Execution started, or completed when --wait succeeds |
1 | Server rejected the request, or the task finished in a failed state under --wait |
2 | Invalid input — non-numeric adv_recon_id or --timeout |
3 | Timeout — --wait exceeded --timeout before the task finished |
4 | Authentication required — run simetrik login |
simetrik adv-recon confirm
Confirm an advanced reconciliation (persist changes)
Persists the result of an advanced reconciliation run — it commits the matches produced by
adv-recon execute so they become the official, saved outcome rather than a draft. Like execute,
it returns an event ID immediately unless you pass --wait, which polls every 5 seconds up to
--timeout seconds (default 120); a failed task exits 1 and a timed-out poll exits 3.
Run this after you've executed and reviewed the draft results. The pairing is deliberate: execute
computes, confirm saves. If you re-run execute without confirming, the prior draft is replaced.
See also: adv-recon execute, adv-recon describe. Requires reconciliations · execute. See permissions.
Arguments
adv_recon_id— Advanced reconciliation ID
Flags
-w, --wait— Wait for completion-t, --timeout <n>— Timeout in seconds-f, --format <fmt>— Output format: table|json
Examples
simetrik adv-recon confirm 4501
simetrik adv-recon confirm 4501 --wait --timeout 300Exit codes
| Code | Meaning |
|---|---|
0 | Confirmation started, or completed when --wait succeeds |
1 | Server rejected the request, or the task finished in a failed state under --wait |
2 | Invalid input — non-numeric adv_recon_id or --timeout |
3 | Timeout — --wait exceeded --timeout before the task finished |
4 | Authentication required — run simetrik login |
simetrik adv-recon column-select
Select columns to propagate into the reconciliation output
Chooses which columns from each side propagate into the reconciliation's output table. Pass
--side-a and/or --side-b as JSON arrays of column IDs to select specific columns, or pass
--all to take every non-system column from both sides at once.
Use this once the sides are wired up and you've decided what the result should carry forward — it
shapes the output, not the matching. To find the column IDs, inspect the sides with
adv-recon describe. Matching rules themselves live in adv-recon sweep-create, not here.
See also: adv-recon sweep-create, adv-recon describe. Writes require reconciliations · create_edit_configure. See permissions.
Arguments
adv_recon_id— Advanced reconciliation ID
Flags
--side-a <json>— JSON array of column IDs for side A--side-b <json>— JSON array of column IDs for side B--all— Select ALL non-system columns from both sides-f, --format <fmt>— Output format: table|json
Examples
simetrik adv-recon column-select 4501 --all
simetrik adv-recon column-select 4501 --side-a '[1001,1002]' --side-b '[2001]'Exit codes
| Code | Meaning |
|---|---|
0 | Column selection saved |
1 | Server rejected the request |
2 | Invalid input — non-numeric adv_recon_id, or malformed --side-a/--side-b JSON |
4 | Authentication required — run simetrik login |
simetrik adv-recon sweep-create
Create a sweep (rule block) for an advanced reconciliation
Adds a sweep — a block of matching rules — to an advanced reconciliation. Each sweep runs in
--position order and matches rows of side A against side B per its --rules. --name is required;
--cross-type sets the cardinality or nature (ONE_TO_ONE default, ONE_TO_MANY, MANY_TO_ONE,
MANY_TO_MANY, RECONCILIATION as an alias for one-to-one, or COMPENSATION for same-side A-A/B-B).
The shape rules are enforced client-side, so a bad combination fails fast with exit 2: any
non-one-to-one, non-compensation cardinality requires --sweep-groups (criteria and aggregate
columns); --cross-type=COMPENSATION requires exactly two --compensation-groups entries each with
source_side of A or B, and rejects --segmentation-a/--segmentation-b mixed with them.
Sweeps default to creating a new version (--new-version); pass --no-new-version to amend the
current one. Set up segmentation first with adv-recon segmentation if you plan to scope a sweep
with --segmentation-a/--segmentation-b.
See also: adv-recon sweep-update, adv-recon segmentation, adv-recon compensation-create, adv-recon execute. Writes require reconciliations · create_edit_configure. See permissions.
Arguments
adv_recon_id— Advanced reconciliation ID
Flags
-n, --name <n>— Sweep name--position <n>— Position--robustness <json>— Robustness thresholds as JSON array of 2 floats--cross-type <s>— Match cardinality or nature: ONE_TO_ONE, ONE_TO_MANY, MANY_TO_ONE, MANY_TO_MANY, RECONCILIATION (alias for ONE_TO_ONE), COMPENSATION (same-side A-A or B-B).--rules <json>— JSON array of matching rules--sweep-groups <json>— JSON array of sweep group definitions (enables M:1 / 1:M / M:M). Each entry: {"prefix_side":"A"|"B","criteria_columns":[<id>],"aggregate_columns":[{"column":<id>,"function":"SUM"}]}--segmentation-a <value>— Side A criteria-column value that scopes this sweep (e.g. "1.Accepted y Refunded - Confirmed"). Requires adv-recon segmentation to have set a criteria column on Side A first. Ignored for compensation sweeps.--segmentation-b <value>— Side B criteria-column value that scopes this sweep (e.g. "PAYMENT"). Requires adv-recon segmentation to have set a criteria column on Side B first. Ignored for compensation sweeps.--compensation-groups <json>— JSON array of compensation group definitions (one per side). Each entry: {"prefix_side":"A"|"B","source_side":"A"|"B","name":"PAYMENT","criteria_column_id":<id>,"due_column_id":<id|null>,"group_values":["PAYMENT"]}. source_side picks which rec_group of the adv_recon feeds the side (B-B compensation uses source_side="B" on both entries). Required when --cross-type=COMPENSATION.--new-version— Create new version--no-new-version— Do not create new version-d, --description <text>— Description-f, --format <fmt>— Output format: table|json
Examples
simetrik adv-recon sweep-create 4501 --name "Exact match" --rules '[{"column_a":1001,"column_b":2001,"operator":"EQUALS"}]'
simetrik adv-recon sweep-create 4501 --name "Sum to one" --cross-type MANY_TO_ONE --sweep-groups '[{"prefix_side":"A","criteria_columns":[1001],"aggregate_columns":[{"column":1002,"function":"SUM"}]}]' --rules '[{"column_a":1003,"column_b":2001,"operator":"EQUALS"}]'
simetrik adv-recon sweep-create 4501 --name "Comp A-A" --cross-type COMPENSATION --compensation-groups '[{"prefix_side":"A","source_side":"A","name":"PAYMENT","criteria_column_id":1001,"due_column_id":null,"group_values":["PAYMENT"]},{"prefix_side":"B","source_side":"A","name":"REFUND","criteria_column_id":1001,"due_column_id":null,"group_values":["REFUND"]}]'Exit codes
| Code | Meaning |
|---|---|
0 | Sweep created |
1 | Server rejected the request |
2 | Invalid input — missing --name, malformed JSON, unknown --cross-type, or required groups missing for the chosen cardinality |
4 | Authentication required — run simetrik login |
simetrik adv-recon sweep-update
Update a sweep's configuration
Updates an existing sweep by its numeric sweep_id. It's a partial update — pass only the fields you
want to change: --name, --position (its order in the sweep chain), --robustness (a JSON array
of thresholds), --cross-type, or --description.
Use this to tweak a sweep you already created with adv-recon sweep-create — for example to reorder
it or adjust its robustness thresholds — without rebuilding it. Note it does not accept new --rules
or group definitions; to change the matching rules themselves, recreate the sweep.
See also: adv-recon sweep-create, adv-recon describe. Writes require reconciliations · create_edit_configure. See permissions.
Arguments
sweep_id— Sweep ID
Flags
-n, --name <n>— New name--position <n>— New position--robustness <json>— Robustness thresholds as JSON--cross-type <s>— Match cardinality-d, --description <text>— Description-f, --format <fmt>— Output format: table|json
Examples
simetrik adv-recon sweep-update 9012 --name "Exact match (rev)"
simetrik adv-recon sweep-update 9012 --position 2 --robustness '[0.95,0.99]'Exit codes
| Code | Meaning |
|---|---|
0 | Sweep updated |
1 | Server rejected the request |
2 | Invalid input — non-numeric sweep_id, or malformed --robustness JSON |
4 | Authentication required — run simetrik login |
simetrik adv-recon compensation-create
Create compensation criteria for same-side matching (A-A or B-B)
Defines the criteria for same-side (A-A or B-B) compensation matching on an advanced reconciliation.
It pairs two columns on one side (--column-a, --column-b, both required numeric IDs) and sets how
their values are compared via --operation (absolute_difference default, sum, or subtraction).
--side selects which side the criteria applies to (A default or B).
Use this when amounts must net out within one side rather than across sides — for example matching a
charge against its refund. Pass --validation with a --tolerance to allow a numeric margin when
comparing. This sets up the criteria; the actual compensation matching runs as a sweep created with
adv-recon sweep-create --cross-type COMPENSATION.
See also: adv-recon sweep-create, adv-recon describe. Writes require reconciliations · create_edit_configure. See permissions.
Arguments
adv_recon_id— Advanced reconciliation ID
Flags
--column-a <id>— Column A ID--column-b <id>— Column B ID--validation— Enable tolerance validation--tolerance <n>— Tolerance value--operation <s>— Operation type: absolute_difference, sum, subtraction--side <s>— Side: A or B-f, --format <fmt>— Output format: table|json
Examples
simetrik adv-recon compensation-create 4501 --column-a 1001 --column-b 1002 --side A
simetrik adv-recon compensation-create 4501 --column-a 1001 --column-b 1002 --validation --tolerance 0.01 --operation absolute_difference --side BExit codes
| Code | Meaning |
|---|---|
0 | Compensation criteria created |
1 | Server rejected the request |
2 | Invalid input — non-numeric adv_recon_id or column IDs, or missing --column-a/--column-b |
4 | Authentication required — run simetrik login |
simetrik adv-recon segmentation
Set the segmentation criteria for an advanced reconciliation group. Call this ONCE per side — the criteria columns on A and B must emit identical string literals for same-category pairs to match. The server derives categories from the data at execute time; no explicit category list is required.
Sets (or clears) the segmentation criteria for one side's group of an advanced reconciliation,
identified by its config_id. Segmentation splits each side into categories so only same-category
rows are compared. Pass --criteria-column with the column ID that emits the category label, or
--clear to remove the criteria (sets it to null); you must supply exactly one of the two.
Call this once per side. The criteria columns on A and B must emit identical string literals for
rows that belong together — the server derives the category set from the data at execute time, so you
don't list categories yourself. The chosen column must live on the group's union resource and be
ready and inheritable. Configure segmentation before creating sweeps that scope on it via
adv-recon sweep-create --segmentation-a/--segmentation-b.
See also: adv-recon sweep-create, adv-recon describe. Writes require reconciliations · create_edit_configure. See permissions.
Arguments
config_id— Segmentation configuration ID
Flags
--criteria-column <id>— Column ID to use as segmentation criteria (must be on the group’s union resource, ready, and inheritable)--clear— Clear the segmentation configuration (set criteria_column to null)-f, --format <fmt>— Output format: table|json
Examples
simetrik adv-recon segmentation 7788 --criteria-column 1001
simetrik adv-recon segmentation 7788 --clearExit codes
| Code | Meaning |
|---|---|
0 | Segmentation criteria set or cleared |
1 | Server rejected the request |
2 | Invalid input — non-numeric config_id, or neither --criteria-column nor --clear given |
4 | Authentication required — run simetrik login |