MatchDock / User guide · V2Español
Download PDF
On this page

MatchDock User Manual

Current edition: MatchDock V2 - 19 October 2026

ADVANCED MATCHING. Advanced is available while the service is active. Pro is required for your own files; Free includes the fixed synthetic demo. New operations can be paused or disabled; compatible saved workflows remain readable. The approved operating profile and timing policy apply. Legacy/F1/F2 remain available separately.

Use the current site and check service availability before starting Advanced. If access is unavailable, your files remain local and compatible saved workflows remain readable; do not silently discard Advanced rules. Markdown is canonical; generated HTML/PDF contain the same instructions.

Contents

  1. What MatchDock does
  2. Files, plans and limits
  3. Your first reconciliation
  4. Mappings and business keys
  5. Templates and the SAP preset
  6. Field types and normalization
  7. Additional empty values
  8. Tolerances
  9. Review, run and navigation
  10. Understanding Results
  11. Saved workflows and Run Again
  12. Exporting evidence
  13. Privacy and local processing
  14. Working near the limits
  15. Practical examples
  16. Troubleshooting
  17. Known limitations and further help
  18. Professional and Client-ready reports
  19. Application language and Pro access
  20. Control Totals

1. What MatchDock does

MatchDock reconciles two exported datasets. You map equivalent columns, choose the business key that identifies the same record, and set the rules for comparing its values. MatchDock reports matches, differences, records present on only one side, duplicate or ambiguous keys, and invalid keys. It provides explanations and downloadable evidence.

With Advanced Off, matching is deterministic and one-to-one. If the configuration cannot establish a unique pair, MatchDock leaves the exception visible for review. It does not choose a duplicate by row order or by a conveniently matching amount.

Source A and Source B are labels for the two files. You decide their business meaning. They can be a previous and current export, payroll exports from two systems, a vendor statement and ledger extract, or source and target exports for migration validation. Neither label automatically means older, newer, expected or correct.

With Advanced Off, the Reconciled percentage is based on Source A, so keep the source order consistent when comparing runs. Numeric percentage tolerance is symmetric and does not use Source A as its base.

2. Files, plans and limits

Supported files

Choose one .csv or standard .xlsx file for each source. You can mix formats, for example an XLSX source and a CSV source.

Current legacy/F1/F2 input limits

Plan and input formatData rows per sourceSize per file
Free - CSV or XLSX1,0002 MiB
Pro - CSV1,000,000100 MiB
Pro - XLSX500,00050 MiB

The selected header is excluded from the data-row count. Each source must satisfy both its row limit and its file-size limit independently, including when A and B use different formats. MiB means 1,048,576 bytes. Both plans allow up to 500 columns per source.

Free requires no account and includes the local reconciliation and evidence-export flow within its limits. Pro adds the higher input limits and up to 25 saved workflows. There is no monthly reconciliation quota. A file within the limits can still require substantial memory if it has wide rows, large values or many duplicate candidates.

To use an existing Pro account, open My Workflows, sign in if requested, and start New reconciliation from that page. Confirm that your account shows Pro before selecting files. If the account cannot be verified, do not assume that Pro limits are active.

See Terms for current subscription conditions and Limitations for resource guidance.

Approved Advanced operating envelope

AM_PRO_4_R1 (engine0.4.0, limitsSchema4) is the approved operating profile during active Advanced service availability. Availability can close without changing the saved configuration. Input eligibility is separate from execution admission. CSV1M/XLSX500k are input limits, not certified full-feature Advanced capacities. The prior specialist250k exact-pair campaign used another profile; it is not a capacity guarantee for this profile. Simultaneous maxima, 1,024 useful decisions and maximum-width histories are not certified. Logical bytes are accounting units, not a physical RAM promise.

ResourceApproved value
Preparation / Preparación134,217,728 bytes; 16,000,000 work
Search / Búsqueda33,554,432 bytes; 2,000,000 work
Authoritative results / Resultados67,108,864 bytes
Candidates / Candidatos33,554,432 bytes; 2,048 exploratory candidates
Review / Revisión67,108,864 bytes; 4,000,000 work
Report working state / Memoria de informe33,554,432 bytes
Report work / Trabajo de informe405,405,696
Report evidence and output / Evidencia y salida201,326,592 bytes each (192 MiB)
Block rows A / B / total16 / 16 / 24
Group members A / B8 / 8
Half lists / subsets / joins per block4,096 / 8,192 / 65,536
Comparisons per block / conflict edges1,000,000 / 8,192
Retained alternatives / report samples2,048 / 8
Decision commands / bytes / depth1,024 / 1,048,576 / 16
Fuzzy edit cells / code points1,000,000 / 128
Run absolute / progress idle30,000 ms / 30,000 ms

All 32 limits are independent guards, not simultaneous capacity promises. Direct indexed exact-pair results and exploratory combinations use different strategies; 2,048 exploratory candidates is not a universal input-row ceiling. Fuzzy algorithms and thresholds must be explicit (1–10,000 basis points is the allowed domain, not a recommended threshold); every fuzzy match and N:M requires human confirmation.

AM_OPERATION_TIMING_1 allows 30 seconds for Run (including initial Review), each Review command, full replay, and Freeze/snapshot. Detailed/Package4 have no absolute commercial duration cap, but stop after 30 seconds without genuine completed work. Write acknowledgement, destination close and abort cleanup each have 30 seconds. Cooperative checks cannot preempt a synchronous call halfway; a background browser can delay scheduling. A stalled or cancelled operation never becomes a saved success.

Admission may refuse a proven limit violation or report an inconclusive estimate while keeping runtime guards. Inspect the stated cause, narrow the legitimate context or reduce optional samples, and rerun explicitly. Never split an operation or omit required rules to manufacture uniqueness. INCOMPLETE does not prove there are no other candidates; no automatic unique acceptance is allowed from incomplete search.

3. Your first reconciliation

The wizard has seven steps:

Upload → Sheet & header → Preview → Mapping → Match definition → Rules → Review

For a first example, compare two small invoice exports with these columns: Invoice Number, Invoice Date, Invoice Amount and Currency. Use Invoice Number as TEXT identity, Invoice Amount as NUMBER and Invoice Date as DATE. The Vendor starting point can prepare this configuration, but you must still review the selected columns and their business meaning.

Step 1 - Upload

Open Start reconciling. The screen is titled Upload your source files.

  1. In SOURCE A, use Choose file or drop a supported file.
  2. Do the same in SOURCE B.
  3. Check the filename, size, row count and column count shown for each source. These filenames stay local.
  4. Select Continue to sheet & header when both files are usable.

Replace file lets you select a different source. A failed replacement keeps the previously valid file, sheet/header and configuration usable while displaying the new error. A successful replacement is a real source change: review its structure and mappings again. Template drafts are cleared after a successful source or sheet/header change; do not assume the previous template has been reapplied.

Step 2 - Sheet & header

The screen is titled Check sheet and header.

  1. For XLSX, select the correct Sheet. CSV shows a fixed CSV format instead.
  2. Check Header row, which starts at 1. It is the one-based row containing column names, not the first data row.
  3. If the export has report titles above its table, select the actual header row.
  4. Check the header preview and detected row/column counts for both sources.
  5. Select Continue to preview.

Header names must identify the intended columns. If a source has unusable or duplicate headers, prepare a copy with clear, unique column names and select it again.

Step 3 - Preview

The screen is titled Preview your data. It shows a limited sample, not the entire dataset.

Check that values appear under the correct headers. Raw values such as NULL remain visible here even if you intend to treat them as empty later. Select Continue to mapping. If the structure is wrong, use Back to correct the source settings first.

Step 4 - Mapping

The screen is titled Map the source columns.

  1. Review the proposed Source A and Source B column pairs.
  2. Select Confirm for each pair you intend to use.
  3. Change incorrect pairs, remove unwanted mappings, or use Add mapping for a manual pair.
  4. Optionally apply a template from Templates / starting points as described below.
  5. Select Continue to match definition when the mappings are confirmed and any template requirements are resolved.

Selecting a column is not the same as confirming its mapping. A confirmed mapping means the two columns represent the same business concept; it does not yet determine record identity or comparison rules.

Step 5 - Match definition

The screen is titled Define the match.

For the invoice example, select Invoice Number as the key, and Invoice Date, Invoice Amount and Currency as compares. A field has one effective role. Compare values are checked after a unique pair has been identified.

Step 6 - Rules

The screen is titled Set the comparison rules. Each selected key or compare field has its own card.

Review Field type, source-specific number/date formats, text options and any permitted tolerances. Expand Additional empty values only when a source uses explicit textual sentinels. Select Review reconciliation when the rules are valid.

Templates supply rules; manually configured fields still need review. Enabling a tolerance exposes an initial value, not an approval of that value for your business case. Blank, invalid or unsupported rule drafts block Review.

Step 7 - Review

The screen is titled Ready to reconcile when the configuration can run, or Review required when a blocking issue remains. Check source row counts, Matching key, Compare, effective tolerances, per-field Source A/B empty-token lists and any warnings.

Select Run reconciliation. MatchDock processes the files locally, then opens Reconciliation results. Review exceptions before relying on the summary or exporting evidence.

Choosing the reconciliation mode

Follow the same file, sheet and mapping steps for every mode. For ordinary reconciliation, leave Advanced Matching Off. For an Advanced run while the service is active, configure Advanced in Rules, read the additional configuration summary in Review, then run. Results provides separate authoritative results, candidate review and a decision journal. You never need to edit JSON.

The procedures below describe the implemented V2 interface. Advanced, its fixed synthetic demo, workflow4 writing and reports require current service authorization. Pro is required for your own files and evidence. When service availability is paused or disabled, new Advanced operations stop; existing compatible configurations remain readable.

4. Mappings and business keys

Equivalent columns can have different names

For example, Employee ID in A may correspond to Personnel No in B. Confirm their meaning using the actual source exports, not just their labels. An amount column must have the same basis and sign convention on both sides; identical names do not establish that.

Schema Suggestions can show Exact header, Normalized header, Known alias or Same name tokens. Why this suggestion? explains the proposal. Columns needing review may show Multiple possible matches, No suggestion or Different detected types. These are review aids. They do not make uncertain mappings correct or infer a safe business key for you.

Choose a stable identity

A single key might be Invoice Number within one vendor's statement. A composite key might be Employee ID + Wage Type + Effective Date. Every component must be valid, and together they must identify the same entity in both sources.

Use TEXT for identifiers whose spelling matters, especially employee/vendor IDs, invoice/account numbers, leading zeros and long identifiers. 000123 and 123 remain different under exact TEXT. Enable Ignore leading zeros only when you explicitly intend them to identify the same record. That option can make previously distinct keys collide.

NUMBER is suitable for a mathematical value. A NUMBER key treats 1, 1.0 and 1.00 as the same numeric identity. Numeric tolerance is not available for keys.

Any empty or invalid key component invalidates the entire composite key. Two empty keys never match each other. A duplicate on either side remains a duplicate/ambiguous group, even if amounts could suggest a convenient pairing. Add another key only when it is genuinely part of the shared business identity.

5. Templates and the SAP preset

Templates apply to files you have already selected. They are available within both plans' file limits and do not connect to a payroll, accounting or ERP system.

In Mapping, choose Payroll reconciliation or Vendor reconciliation or Bank reconciliation under Templates / starting points, then select the Apply button. Selecting an option alone does not apply it. Unique canonical header pairs may become confirmed after Apply. Alias proposals need explicit confirmation. Resolve missing or ambiguous concepts manually; a compare field can be excluded with Skip this field, which means it will not be checked.

Replace your current mappings? appears when an application would replace the existing draft. Cancel preserves it; accepting creates the new template draft. Continue with custom configuration keeps effective mappings, roles, rules and confirmations while removing template requirements. Back/Forward preserves the draft. No template or preset supplies additional empty tokens by default.

Payroll reconciliation

Payroll starts with this configuration:

FieldRoleInitial rule
Employee IDKeyTEXT; trim and ignore leading zeros
Wage TypeKeyExact TEXT
Effective DateKeyDATE; Auto detect per source; allow 1 day
Employee NameCompareIgnore case and spaces
AmountCompareNUMBER; Auto detect per source; absolute tolerance 0.02
CurrencyCompareExact TEXT
Cost CenterCompareTEXT; trim and ignore case

Review these defaults, especially leading-zero equivalence, date tolerance and amount tolerance. The three reference keys must be resolved to continue as Payroll. Use Custom if your identity differs.

The synthetic payroll sample is a separate ready-to-review example. Its expected summary is 8 Matched, 4 Within tolerance, 2 Differences, 2 Only A, 2 Only B, 1 Duplicates and 2 Invalid keys: 21 outcomes and 75% reconciled. Applying Payroll to your own data does not promise this result.

Vendor reconciliation

Vendor is intended for one vendor statement and the corresponding ERP/ledger extract for that vendor, with one comparable row per invoice/document.

FieldRoleInitial rule
Invoice NumberKeyTEXT; ignore surrounding spaces; keep case and leading zeros
Invoice DateCompareDATE; Auto detect per source; Exact
Invoice AmountCompareNUMBER; Auto detect per source; Exact
CurrencyCompareExact TEXT

Invoice Number must identify the document within those files. Invoice Amount means the original document amount, not automatically open balance, paid amount, gross amount or net amount. Adapt the configuration if the files represent another basis. Partial payments, allocation, aggregation and consolidated multi-vendor matching are not supplied by this template.

Bank reconciliation

Choose Bank reconciliation, then Apply bank template. It starts with Transaction Reference as a TEXT key (Trim only), and Transaction Amount (NUMBER), Transaction Date (DATE) and Currency (TEXT) as exact comparison fields. Number/date formats remain Auto detect; select explicit source formats when ambiguous. No tolerance or additional empty tokens are enabled.

Use a genuinely shared reference and confirm every alias proposal. Resolve missing date/currency manually or explicitly skip them; skipped fields are not checked. Posting Date and Value Date are not proposed as transaction-date aliases. Confirm account, currency, period, amount basis and sign conventions yourself. The starter keeps signs unchanged by default. For a signed amount column, configure per-source polarity in Rules; separate debit/credit columns require manual preparation. The starter uses the existing 1:1 engine; it does not calculate balances, classify transactions or group rows. Free can apply it under normal file limits; Pro can save the effective configuration as an ordinary workflow.

SAP S/4HANA Supplier Line Items

Within Vendor, Export preset offers Generic and SAP S/4HANA Supplier Line Items. Select the latter, then Apply vendor template with preset.

Vendor fieldSAP header proposals
Invoice NumberReference Document Number; XBLNR
Invoice DateDocument Date; BLDAT
Invoice AmountAmount in Document Currency; WRBTR
CurrencyDocument Currency; WAERS

Confirm each alias and check its business meaning. Document Date is distinct from Posting Date. Confirm the original document amount and sign convention. The preset does not transform debit/credit signs, convert currencies or interpret open balances. It does not add Company Code, fiscal year, SAP accounting-document number or line item as a key automatically.

This preset covers a particular exported-file starting point, not every SAP report, layout, version or language. Either source can contain the SAP columns. There is no direct SAP connection or automatic system detection.

6. Field types and normalization

TEXT

Use TEXT for names, codes, descriptions and lexical identifiers. Rules offers:

Normalization affects matching/comparison, not the preserved raw value. Review options carefully on key fields because they can collapse distinct identities. Blank/whitespace-only values are already Empty before these options are applied.

NUMBER

Choose Source A number format and Source B number format independently:

UI choiceExample
Auto detectA value that can be interpreted unambiguously
1,234.56English-style grouping and decimal point
1.234,56European-style grouping and decimal comma

Auto detect does not silently choose an interpretation for an ambiguous value such as 1,234. Select the actual source format. NUMBER uses exact decimal arithmetic for numeric keys, comparisons, absolute tolerance and percentage decisions within its supported domain:

Insignificant leading zeros and trailing fractional zeros do not increase numerical precision. 1.00 normalizes to 1; negative zero normalizes to 0. The smallest supported nonzero value is 0.000000000000000001. Values outside the domain are explicitly invalid; they are not silently rounded, truncated or converted to zero. This is a bounded exact-decimal contract, not arbitrary precision.

Text scientific notation such as 1e-16 is unsupported as NUMBER input. Use ordinary decimal text within the domain. A typed spreadsheet number can be processed according to its delivered numeric value even if its equivalent spelling uses an exponent.

XLSX numeric cells: a source spreadsheet or its reader may already have lost digits before MatchDock receives the value. MatchDock compares the delivered supported value exactly and cannot recover missing digits. Delivered typed numbers must be finite, safe integers when integral, and no more than 15 significant digits; they must also fit the decimal domain. Even a safe integer can be rejected if its delivered representation has more than 15 significant digits.

CSV strings and textual XLSX cells provide the strongest path for preserving exact decimal digits. Use TEXT for an identifier whose exact spelling matters. Choosing TEXT after a spreadsheet has already rounded a numeric identifier cannot restore the original digits.

DATE

Rules offers Auto detect, YYYY-MM-DD, DD/MM/YYYY and MM/DD/YYYY separately for A and B. Use an explicit format when values such as 03/04/2026 have more than one possible meaning.

DATE compares calendar days. Delivered XLSX date values use their UTC calendar date; time-of-day is not a DATE comparison dimension. Text must match a supported date format. A numeric serial written as plain CSV text is not automatically a date.

Choose Exact or Allow date difference, then enter a non-negative whole number of Days. Date compare fields can use this tolerance. At most one DATE key component can use a nonzero tolerance, and the candidate must be unique in both directions. Otherwise the result remains ambiguous. Other key components remain exact after their configured normalization.

7. Additional empty values

Blank cells, empty strings and ordinary whitespace-only strings are always Empty. NULL, N/A, NA, - and 0 are not default empty tokens.

In a field's Rules card, expand Additional empty values and enter one token per line in the Source A and/or Source B editor. Configuration is per field and per source, for keys and compares of any type. A token configured for Amount/A does not affect Amount/B or another field.

For token NULL, raw NULL and NULL (with outer spaces) become Empty. null, Null and N U L L do not. A token containing the quote characters, "NULL", is different from NULL. A comma can be one literal token because the editor is not comma-separated.

For token 0, CSV text 0 and XLSX textual 0 can become Empty. XLSX numeric 0 remains numeric 0. Text 000 and 0.00 do not match that token. The zero warning is informational; think carefully because any token can hide a legitimate value.

SituationResult
NUMBER raw NULL, token NULL in that sourceEmpty, not an invalid number
NUMBER raw NULL, no applicable tokenInvalid number
DATE raw N/A, token N/A in that sourceEmpty, not an invalid date
Any key component becomes EmptyInvalid key for that source; no pairing
Empty compare versus Empty compareExact agreement
Empty compare versus a valueDifference; no empty-specific tolerance

Raw values are preserved. Detail can show raw NULL, normalized Empty, and an explanation naming the configured Source A or Source B rule. A genuinely blank value is not falsely described as a configured-token conversion.

Blank editor lines are ignored. Duplicate tokens after trim are errors, not silently deduplicated. Control characters are invalid. Limits are 20 tokens per field/source, 128 UTF-16 code units per token and 8,192 units across the reconciliation. Invalid lists block Review. Supplementary Unicode characters such as many emoji occupy two UTF-16 units.

8. Tolerances

Absolute tolerance

For a NUMBER compare field, choose Allow absolute tolerance and set Tolerance to a supported non-negative decimal. The allowance uses the field's units.

100.00 versus 100.01, with tolerance 0.01, is Within tolerance because the exact absolute difference is 0.01. The boundary is inclusive. A larger difference does not pass this rule. Exact numerical equality remains Matched without needing a tolerance.

Percentage tolerance

Enable Use percentage tolerance and enter Percentage tolerance (%). 1 means 1%, 0.5 means 0.5%. The permitted range is 0–100, including decimals within the supported numeric domain. An enabled blank or invalid draft blocks Review.

Percentage difference uses the larger absolute value of A and B as the base, not one particular source:

Percentage difference = absolute difference ÷ larger absolute value × 100

For 100 versus 125, the difference is 25 and the base is 125: 20%. A 20% tolerance accepts this boundary. Swapping A and B does not change the decision. The decision uses exact arithmetic; a displayed approximate ratio does not override it.

Absolute OR Percentage

The absolute rule and percentage checkbox are independent. To use percentage alone, leave the absolute setting at Exact and enable percentage. To use both, enable both allowances.

When both are configured, either can accept the difference. Review shows wording such as Absolute ±0.01 OR 20% of the larger absolute value. This is not an AND condition. Explanations identify whether Absolute, Percentage or Both accepted it.

At row level, any compare-field difference makes the row Differences, even if another field is within tolerance. With no differences, use of a numeric or date tolerance produces Within tolerance. If all relevant values agree exactly, the row is Matched.

Zero, negatives and keys

Explicit polarity below is applied before tolerances. There is no currency conversion, monetary rounding or dynamic per-row tolerance. Numeric tolerances apply only to compare fields; NUMBER keys remain exact. Empty comparisons follow the empty rules instead of a percentage calculation.

KEEP / NEGATE polarity normalization — V2 F2

In Rules, each NUMBER compare field offers Polarity normalization, with Source A sign and Source B sign. Keep sign (KEEP) leaves the parsed value unchanged; Negate sign (NEGATE) multiplies it exactly by -1. Both sources keep their signs by default, including the Bank starter. Polarity is never inferred from data.

Example: A = 100, B = -100. With A KEEP and B NEGATE, the effective values are 100 and 100: exact agreement if the key identifies one row per side. Order: raw value → NUMBER parsing → polarity → comparison → absolute/percentage tolerances. Zero remains 0; empty and invalid values keep their existing treatment.

Polarity is allowed only on NUMBER compare fields, never keys or TEXT/DATE. It does not combine debit/credit columns, perform accounting, calculate balances, group transactions or match absolute values. Confirm the amount and sign meaning yourself.

Review and Results show A/B policies. Source values remain unchanged; normalized values are effective values. XLSX retains eight sheets and declares policies in Rules. Active runs use config/workflow3 and engine0.3.0, Package3, Professional snapshot3 (English) and Client-ready snapshot4 (EN/ES). KEEP/KEEP runs retain legacy contracts: config/workflow2, engine0.2.0, Package2 and snapshots1/2. Reports disclose executed rules; their optional financial summary uses effective values within its existing population, without new balance controls.

F2 is available in Free within existing limits. Pro can save/reuse the configuration with fresh local files and generate existing reports. Changing language does not change KEEP/NEGATE. An older client must reject a new definition it cannot support; refresh the site instead of running with omitted rules.

Configure Advanced Matching explicitly

In Rules, use Enable Advanced Matching for these files only when you intend a different reconciliation shape. Verified Pro is required for your own files. Choosing Bank, Vendor, Payroll, SAP or Custom never turns it on. Leaving it Off keeps the current one-to-one matching and KEEP/NEGATE rules.

  1. Enable Exact pairs and groups when you need aggregation.
  2. Select a Shared exact reference from the mapped keys: a settlement, batch, invoice or other operation context shared by both sources. All remaining keys must also agree. An amount alone does not establish business identity.
  3. Choose Group membership: Complete groups only (WHOLE_BLOCK) or Allow bounded subsets (BOUNDED_SUBSETS).
  4. Review Allowed reconciliation shapes. 1:1 remains enabled. 1:N is one A row and at least two B rows; N:1 is the reverse. N:M contains at least two rows on each side and always requires a person to confirm aggregate equality.
  5. Choose Primary amount to aggregate. For every NUMBER compare, declare Declared unit / currency and optionally a Mapped unit validator. All configured NUMBER compares must pass; matching one amount is insufficient.
  6. Configure every DATE and TEXT check. Expand Member scope and signed amounts to review the permitted number of selected rows and sign policy.
  7. Read the configuration summary before Run. Missing context, unit, field policy or fuzzy threshold prevents a valid Advanced run. Correct the highlighted condition instead of dropping a rule merely to obtain a match.

A declared unit such as EUR is your assertion, not an inferred currency. A mapped validator must agree for every selected member. Empty, invalid or mixed EUR/USD values prevent the proposed aggregate; MatchDock performs no FX conversion. Prepare debit/credit columns and accounting meaning yourself. KEEP/NEGATE changes one signed NUMBER column, not a debit/credit accounting model.

Complete groups and bounded subsets

Complete groups compare the entire eligible block: exactly one A against all B, or all A against exactly one B. They never remove a noise row to make a sum fit. A multi-row block on both sides can generate N:M only when that shape is enabled; it cannot imply individual allocations.

Bounded subsets examine permitted physical memberships within the same exact context and configured member scope, including 1:1. A whole group and a smaller subset may compete. Identical memberships are one candidate; equal-valued but physically different rows remain different candidates. No first-found, smallest-group or highest-ranked winner is chosen. A unique complete and eligible 1:N/N:1 may reconcile automatically; conflicting alternatives remain for review.

Scope limits define the search you requested. Complete within the configured rule does not mean every conceivable combination in the original files was investigated. An interrupted search is Incomplete, not proof of no alternatives. The owner-approved operating profile is AM_PRO_4_R1, bound to AM_OPERATION_TIMING_1. Historical TEST_DEVELOPMENT profiles remain recognized for internal evidence; they are not commercial defaults. Do not infer Advanced capacity from the existing CSV/XLSX input limits.

Group dates, text, signs and tolerances

Group date check offers All selected values equal (ALL_EQUAL) or Combined date range within days (WITHIN_RANGE_DAYS). The latter uses the earliest and latest dates among all selected A and B members, inclusively. It does not pick an anchor or average; unselected noise dates do not participate.

Group text check offers equal normalized values or Disclose differences without blocking (DISCLOSE_ONLY). The second option records the differing text; it does not verify that the records describe the same transaction. Unit validation and exact keys remain checked independently.

NUMBER values are parsed, KEEP/NEGATE is applied once, and effective values are summed exactly before the existing EXACT/ABS/PCT comparisons. Exact equality is checked first. ABS/PCT inclusivity, zero and sign restrictions remain those described above. Inspect every amount comparison, not only the primary search amount.

Uniform nonzero signs ignores zero when determining a common sign. Explicit signed sum · netting requires review permits intentional signed compensation. Mixed-sign or zero-net groups require review even when only one numerical solution exists. For example 1000 plus -10 equals 990, but MatchDock does not infer whether a fee, refund or accounting entry should be netted.

Configure textual identity suggestions

Enable Text identity suggestions for individual TEXT identities with spelling errors or transposed reference characters. Fuzzy does not apply to NUMBER, DATE or group identities.

  1. Choose Text identity field. Preserve other keys and compares.
  2. Choose Search context: Mapped exact business context, or explicitly confirm Declared single entity and period. The declared mode requires amount/unit and date gates. It is your assertion about the files, not verified account identity.
  3. Choose Text comparison method: Character edits · references (Levenshtein), Character edits and transpositions · references (unrestricted Damerau-Levenshtein), or Repeated-token overlap · names/descriptions (multiset Dice).
  4. Enter Required similarity threshold (%) explicitly. There is no universal default. Any percentages in examples are synthetic fixture choices, not recommended Production thresholds.
  5. Configure amount/date gates and Explicit text search scope where needed. Prefix restrictions exclude identities deliberately; do not use them without understanding that exclusion.

Levenshtein counts insertions, deletions and substitutions of normalized Unicode code points. Damerau also handles transpositions. Dice compares token multiplicities: a repeated word counts more than once; word order alone is not identity. None interprets meaning, translates, uses AI or calls a remote matching service. A similar identifier may belong to a different supplier or transaction. Every fuzzy suggestion requires human confirmation, even at 100% similarity.

9. Review, run and navigation

Review the effective sources, key, compare fields, tolerances and tokens before Run reconciliation. Resolve blocking problems. Empty-key warnings tell you that those rows will become Invalid keys; they are not permission to invent a match. Built-in blank counts do not include configured-token matches, which are evaluated during the run.

During processing, MatchDock shows Parsing, Normalizing, Building indexes, Matching and Preparing results, with Cancel available. Wait for Results before exporting. If processing is cancelled, no completed reconciliation should be inferred from partial progress.

Back preserves the working configuration while you review earlier steps. Changing a valid source, worksheet or header requires another structure/mapping review. An accepted template replacement rebuilds its draft; cancelling the replacement keeps the current configuration. A failed file replacement preserves the last valid source and configuration so you can continue with them.

Files, draft configuration and Results are not a saved execution. Reloading or leaving the local flow can lose them. Save a workflow explicitly if you need to reuse its configuration, and download evidence if you need a durable result. New reconciliation starts a new local run; it does not retrieve prior files.

Changing or cancelling an Advanced run

Changing semantic Rules, files, mappings or an applied preset invalidates the old execution and its local decisions. Edit rules (invalidates this run and local decisions) makes this explicit. Save rules or download evidence first if needed. A new run requires the original journal context to replay old decisions; do not reuse decisions with new files merely because row numbers look similar.

Running, cancelled, failed, completed and review-pending states are distinct. Cancel does not publish partial accepted units. Changing application language or expanding a panel does not edit technical rules or the journal. Reloading the page still loses an unsaved local execution.

10. Understanding Results

Summary and categories

The Results summary shows Source A/B row counts, Reconciled, and seven categories:

LabelMeaning and next action
MatchedThe key identifies a unique pair and configured compares agree exactly. Review the rules that made them equal.
Within toleranceNo compare fails, but a permitted tolerance was used. Review which rule accepted the difference.
DifferencesA unique pair exists, but at least one compare fails its rule or cannot be interpreted. Inspect the failing field.
Only AA valid unique Source A key has no corresponding Source B record. Check scope and key configuration before calling it missing business data.
Only BA valid unique Source B key has no corresponding Source A record. Check scope and identity.
DuplicatesRepeated keys or non-unique tolerant-date candidates prevented automatic pairing. Review every candidate.
Invalid keysA row has an empty or invalid required key component. Correct the source or intended key rule.

Reconciled = (Matched + Within tolerance) ÷ unique valid Source A rows. Duplicate-group rows and invalid-key rows are excluded from the denominator. Valid unique unmatched and differing Source A rows remain in it. The percentage is not a certified accounting metric or proof that every input row is correct.

Outcome counts do not necessarily equal source-row counts. A pair is one outcome; a duplicate group can represent several rows; invalid rows are reported separately for A and B.

Tabs, search and filters

Results starts on Differences. The tabs are Differences, Only A, Only B, Duplicates, Invalid and Matched. The Matched tab includes both exact and within-tolerance rows, so its count combines them. The summary still separates those two categories.

Use Search results within the current tab. Search is case-insensitive substring matching across available keys, raw values including unmapped columns, normalized values and stored result evidence. It is not a fuzzy query language. Clear it to return to the tab's full results.

In Differences, Mismatch field narrows results to rows that fail a selected compare field. Search and this filter combine. An empty filtered view does not change the overall summary or exported evidence. Exports contain the full reconciliation, not just the current search, tab or page.

Large result lists use pages of 50. Use the previous/next page controls and the visible page indicator. Search/filter changes reset the page position. Search may take longer immediately after Results appear on a very large run; wait for the updating state or replace the query. Rapid query changes should show the latest requested results.

Detail, raw values and explanations

Select a key using Show details for key … to open Comparison detail. It shows the source row numbers, raw and normalized values, rule, field outcome, difference and applicable tolerance. Explanations describe why the key paired, why a field differed, or which tolerance accepted it.

RawNormalized meaning
NULL, with an applicable empty tokenEmpty, with a configured-source explanation
1.00, NUMBERCanonical numeric 1
1.234,56, European NUMBERCanonical numeric 1234.56
000123, exact TEXT000123, preserving lexical identity
000123, TEXT with ignore-leading-zeros123, while raw remains 000123

Raw means the value delivered from the source reader. It does not promise recovery of the original spelling or digits of a typed XLSX numeric cell. Normalized is the interpretation used for matching/comparison under the effective rules. Invalid is distinct from Empty.

Percentage detail may show an approximate display ratio and exact decision evidence. Use the recorded decision and effective rule, not a rounded displayed ratio, to understand a boundary outcome.

For Duplicates, detail explicitly says that no automatic pair was chosen. It shows separate Source A and Source B candidate lists with raw/normalized/rule evidence. Use each list's Previous/Next controls when the group spans pages. Candidate order does not imply a pairing.

Advanced coverage and authoritative results

Advanced Results shows Source A coverage and Source B coverage separately. Their denominators are all evaluated physical rows on each side, including invalid-key rows. Reconciled numerators count accepted MATCHED and MATCHED_WITH_TOLERANCE members. Confirmed differences, pending suggestions and incomplete rows do not increase coverage. An empty source is N/A, not 100%.

Accepted reconciliation units and Grouped units count relationships; the row counts count physical rows. One accepted A row against three of four B rows gives coverage A 100% and B 75%, not three or four group-level matches. Pending candidates, Ambiguous components and Incomplete searches describe remaining review work; they are not another reconciled percentage.

The eight machine outcomes remain MATCHED, MATCHED_WITH_TOLERANCE, VALUE_MISMATCH, ONLY_A, ONLY_B, DUPLICATE_OR_AMBIGUOUS, INVALID_KEY_A and INVALID_KEY_B. Display labels combine the two invalid-key categories where appropriate. Filters do not discard rows or change exported facts.

Inspect members and evidence

Use Inspect members and evidence on a unit or candidate. Read its shape, Method, Rule, completeness and review state. Expand the Source A and B members; use their page controls rather than assuming the first visible row represents the entire group.

For each selected row, distinguish Original value, Parsed value, Value used in comparison and Sign policy applied. With NEGATE, the comparison value is not the original file value. NUMBER evidence shows both sums, difference, unit and actual tolerances. DATE evidence shows combined minimum, maximum and span. TEXT evidence says checked or Disclosed; not checked. Context, alternative counts and shared rows explain the scope and conflicts.

Human Review and alternatives

Choose Review candidates and the Candidate filter. A candidate is a possible membership, not an accepted reconciliation. A pending candidate owns no rows. Multiple alternatives may share a physical row; once one selection is adjudicated, an incompatible acceptance is refused. Never infer an automatic winner from list order or similarity ranking.

Stale session/revision errors require refreshing the current view before deciding. A failed command does not partially apply a selection. An incomplete search may retain reviewable candidates with an explicit acknowledgement that unexplored alternatives exist; human acceptance does not retrospectively prove uniqueness or completeness.

Local journal, export, import and replay

Open Decision journal to inspect ordered actions. Download local journal exports the canonical JSON artifact for the current files, configuration, profile and engine. Import and replay local journal selects that compatible artifact and reproduces all decisions through the Worker. Do not edit or reformat the journal as if it were a free-form note.

Keep the original source files and rules if you need reproduction. Changed files, policies, thresholds or profile can make a journal incompatible. A rejected import preserves the existing session; a successful replay replaces it atomically. Import does not match new files by row position. A journal stores run-bound decisions; a cloud workflow stores reusable rules. They are never interchangeable. Integrity hashes are not digital signatures or proof that a trusted person approved the data.

11. Saved workflows and Run Again

Save a reusable configuration

  1. Complete and review a reconciliation.
  2. Choose Save this workflow under Do this regularly?.
  3. Sign in if required. Pro must be verified for saving.
  4. In Save workflow, enter Workflow name, then Save. Discard abandons the pending save.
  5. Confirm the workflow appears in My Workflows, with its revision and key/compare counts.

A workflow stores the reusable sheet/header/column structure, mappings, key and compare definitions, field types, normalization, tolerances and configured empty tokens. Selected header/sheet names and user-entered rule tokens can themselves be business-sensitive configuration; save only when that account persistence is intended.

It does not store files, filenames, source rows, cell values, previews, Results, exported files or a history of past runs. The saved definition has a 64 KiB size limit. Pro supports up to 25 workflows.

Open and Run Again

Open displays configuration details; it does not reopen a previous reconciliation result. Choose Run Again from the workflow card or its detail dialog.

  1. Select fresh local files for A and B.
  2. Choose Check saved workflow schema.
  3. Review Check schema before Run Again. Check detected changes and Source A/B previews.
  4. For compatible files, use the offered continuation. For issues, use Adjust sheet & header or Review mapping.
  5. Review the effective rules and run again.

Drift Assistance

When a saved column is missing or renamed, assistance distinguishes Expected, Possible replacement and confirmed Current. A suggestion can use a normalized header, known alias or the same name tokens. Select the appropriate column and use Confirm replacement. Selecting it alone is not confirmation.

Multiple possible matches require a deliberate choice; MatchDock does not select a winner by a convenient type sample. Different detected types can require Mapping/Rules review while preserving the saved rule. SAP preset aliases are scoped to initial preset application and are not a promise of automatic Drift recognition.

Configured sentinels may cause a format-review prompt during Run Again even with unchanged headers. Review the bindings and Rules, confirm that the token applies to the correct field/source, then continue through normal Review. The token configuration is retained; suggestions do not reinterpret it as a global type-inference rule.

Update, rename, duplicate and delete

After a successful Run Again, Update saved workflow appears under Keep this workflow up to date?. Choose it, review the naming dialog and select Save. This explicitly persists the current configuration and advances the revision. Corrections in a local run do not automatically update the saved workflow.

Use the workflow card's named Rename, Duplicate and Delete actions as appropriate. Deleting shows Delete this workflow?; Delete workflow permanently deletes the configuration, while Cancel keeps it. Local spreadsheet files are unaffected.

If another tab changed the workflow, a revision conflict protects the newer saved definition. Reload My Workflows and open the latest revision before applying another update. Do not repeatedly overwrite an unresolved conflict.

If Pro access ends, existing workflows remain listed/openable and deletable. Creating, renaming, duplicating, updating and Run Again require active Pro. Reactivating Pro restores access to retained configuration. Manual local reconciliation remains available within Free limits.

Advanced rules in saved workflows

With Pro and active Advanced service availability, Save this workflow preserves canonical Advanced rules, mappings, units, sign policies, context, algorithms and explicit thresholds as workflow/config4 with engine0.4.0 and adapter3/ADVANCED. Open, Run Again, explicit updates and deletion follow the existing workflow procedures. New local files can produce different results; the saved configured semantics must stay the same.

Cloud storage excludes spreadsheet contents, candidate graphs, accepted physical memberships, journals, run decisions and reports. Configuration itself can contain sensitive column names, labels and declared context; review it before saving. The existing 25-workflow quota and ownership checks remain. Unknown versions/policies fail safely; no Advanced definition is silently rewritten as legacy or polarity-only.

New workflow4 writes require Pro and a currently authorized Advanced window. Current schema2/engine0.2 and schema3/engine0.3 workflows remain usable. Losing Pro does not delete stored workflows; the account's permitted read/write actions follow its current entitlement. Download a compatible journal separately if a particular run's decisions must survive.

12. Exporting evidence

Results offers two explicit actions: Export Excel and Export Evidence Package. Both generate files locally and preserve the full run's evidence and effective rules. Keep the downloaded file before starting another reconciliation. Neither export certifies an accounting balance or migration.

Export Excel

Export Excel creates one XLSX workbook with these eight sheets, in order:

SheetContents
SummarySource counts, outcome counts, affected rows and reconciled-percentage definition
DifferencesUniquely paired records with at least one failing compare
Only Source AValid unique A records without a B counterpart
Only Source BValid unique B records without an A counterpart
DuplicatesSeparate candidate rows from A, then B; no invented pairs
Invalid KeysInvalid rows from both sources
MatchedExact and within-tolerance pairs
RulesSource settings, selected columns, keys, compares, types, normalization and tolerances; per-source empty tokens when configured

Result sheets include row references, composite key, status, raw/normalized values and structured explanations. Original source-row snapshots are included as JSON, including columns that were not mapped. Explanations and configuration arrays can also be JSON text. Source filenames are not included.

Normalized NUMBER values, numeric differences/tolerances and numeric Rules values are exported as exact decimal text. This preserves digits rather than forcing them into spreadsheet numeric precision. Delivered raw numeric cells, dates and booleans retain their typed output where applicable. A spreadsheet's “number stored as text” indicator on exact numeric evidence is intentional.

Excel's physical limits

An Excel worksheet can have 1,048,576 total rows, including its header, and 16,384 columns. A category sheet with one header therefore has room for 1,048,575 data rows. Duplicate candidates use one export row per candidate, so a relatively small outcome count can expand to many worksheet rows.

MatchDock checks worksheet row/column feasibility before starting XLSX writing. If a category does not fit, it gives an explicit reason and does not download a partial or truncated XLSX. Use Export Evidence Package explicitly. There is no silent format switch or automatic splitting into extra sheets/workbooks.

Text cells have a 32,767 UTF-16-unit limit, including protected text, original-row JSON and explanation JSON. Exceeding it stops export; evidence is not truncated. The Evidence Package retains this existing cell guard too, so it is not a workaround for arbitrarily long individual evidence cells. Archive-size and browser-resource limits can also stop generation.

Export Evidence Package

Export Evidence Package creates a ZIP containing manifest.json and eight UTF-8 CSVs:

The manifest describes the files, dimensions, sections, encoding, value representations, effective configuration and summary. Keep it with all eight CSVs. The category evidence corresponds to the XLSX sheets, including raw values, exact normalized numeric text, explanations, candidate rows and Rules.

CSV records use commas and CRLF record separators. Text is double-quoted, embedded quotes are doubled, and embedded line breaks are preserved. An unquoted empty field represents null/Empty; a quoted empty string is textual empty. Quoted numeric-looking values remain text under the manifest's quote-aware contract. Typed scalars and dates use their documented unquoted representations; dates use UTC ISO text. The manifest is the reference for interpreting these distinctions.

Prefer the Package for very large evidence, bulk review or when an XLSX category exceeds physical sheet limits. It can be substantially more compact, but generation time and size depend on your data. Opening a CSV in Excel can still encounter Excel's row limit or automatic type inference. Import identifiers and exact decimals as text, or use a CSV reader that respects the manifest. A Package does not enlarge a spreadsheet application's limits.

Formula protection and cancellation

User-derived text whose first meaningful character is =, +, - or @ receives a protective apostrophe. This also covers markers after leading spaces, tabs or line breaks. Such content remains text; it is not emitted as an executable user formula. An apostrophe visible on exported negative-looking decimal text is a protective output representation, not a change to the numeric comparison.

Quoting alone is not formula protection. Preserve the protection if moving evidence into another spreadsheet. Exported artifacts contain source evidence: protect and share them according to your own data policy.

Use Cancel export while generating an export if needed. A cancelled or failed export does not produce a valid partial download. Correct the reported issue or retry on a suitable browser/device; the application does not secretly retry a failed XLSX through another writer.

Advanced Detailed XLSX and Evidence Package4

The Advanced report dialog offers Download Advanced Detailed XLSX and Download Evidence Package4 with Pro access. Legacy exporters must not represent a grouped run as 1:1. Advanced reporting uses one frozen decision revision; review changes require a newly prepared report.

Detailed keeps the eight logical categories listed above. A category can continue across consecutively named physical sheets, such as Matched, Matched (2), and Matched (3), when a worksheet row or XML-byte boundary requires it. Repeated headers and the continuation index preserve order and completeness. A unit and its members can span sheets; their IDs preserve the relationship without changing ownership, coverage or totals. Its versioned records distinguish UNIT totals, MEMBER physical rows, COMPONENT unresolved populations, CANDIDATE alternatives, DECISION actions, RULE and SUMMARY. Each physical member belongs to exactly one authoritative partition; candidate references do not duplicate monetary totals. Duplicates can include typed ambiguity/review records rather than only literal duplicate source keys.

Package4 contains manifest.json, eight CSVs, candidates.jsonl, decisions.jsonl and digests.json. It preserves all retained candidate facts, full journal witnesses, raw/effective member values, rules, ownership and completeness. The manifest identifies config4/engine0.4.0/adapter3, recordSchema1 and decisionSchema2, record counts and integrity digests. Journal2 uses am-review-2 and separate semantic/audit roots. UNDO preserves the audit operation even when financial state returns to an earlier partition. A frozen report retains its decision prefix; a checkpoint does not replace validation of the history it summarizes. Retained evidence is not evidence of branches that were never searched. The summary report is not a replacement for this full retained evidence.

Use the independent integrity verifier when comparing an archive. A valid digest demonstrates consistency of the archived facts, not authenticity, accounting correctness or a digital signature. Preserve original inputs and exact configuration/version/profile for future regeneration. Cancelled, stale or failed exports are not valid evidence; the app never declares a partial package or silently truncated workbook complete. Legacy Package2 and polarity Package3 remain separate unchanged families.

Saving a complete file. In a supported secure browser, choose the destination when prompted, before generation starts. The report is written progressively to that explicitly chosen file; completion is shown only after writing and closing succeed. Dismissing the picker cancels this export. Other browsers generate one compressed file and start a normal browser download; check Downloads to confirm it finished. This fallback retains the compressed file in memory and can reach a resource limit. Neither option uploads your evidence or automatically stores your source data.

Progress shows the current stage and measured record/output-byte counts, not an estimated percentage. You can cancel while generating or writing. If writing fails or is interrupted, the app attempts to abort it; an unfinished file may remain at the destination. Do not use it as complete evidence. Keep Results, inspect the error and explicitly try another export when ready. No automatic multipart download or evidence truncation occurs.

13. Privacy and local processing

Selected spreadsheet contents are read, inspected, reconciled and exported locally in your browser. Files, filenames, rows, cell values, previews, Results and generated evidence files are not uploaded to MatchDock servers for processing or stored as a server-side reconciliation result.

Account/sign-in services, subscriptions and website delivery communicate with their respective services. When you explicitly Save or Update a workflow, the account service receives its name and reusable configuration, including required sheet/header/column names, mappings, rules, tolerances and configured empty tokens. This is distinct from storing spreadsheet contents or past results.

On commercial-enabled app pages that show state-aware account and Pro actions, the Clerk browser identity SDK may load to determine whether you are signed in. An anonymous session does not request an entitlement from the account control plane or load Paddle checkout. Choosing Get Pro starts identity verification first; it does not start an anonymous checkout.

Website analytics, when enabled, use restricted website/funnel information. Spreadsheet-derived content and configuration tokens are excluded from analytics. The hosted site still receives ordinary request information needed to serve and protect a website. Do not interpret local spreadsheet processing as a claim that no information ever leaves the device.

Use only data you are authorized to process. Saved configuration and downloaded evidence require their own access/sharing decisions. See Privacy and Terms for the complete service boundary.

14. Working near the limits

For workloads near the maximum, use a modern Chromium-based desktop browser with enough available memory. Performance depends on browser, hardware and dataset shape. Firefox and WebKit have representative coverage, but that does not constitute Firefox/WebKit 1M validation or native Safari 1M certification.

Wide rows, long raw values, duplicate-heavy groups, XLSX expansion and large exports can consume substantial memory even when the input file fits its byte limit. Compressed XLSX size alone does not predict its expanded memory cost. Avoid other memory-intensive tabs while running large reconciliations; use a smaller comparable extract if the browser cannot complete safely.

Reconciliation, Results, Search and export have different resource costs. Usable Results do not guarantee that an enormous workbook is practical to generate or open. A large Search may take time to prepare; a Package may be more practical than a large XLSX. Preserve downloaded evidence and repeatable configuration before leaving the session.

Advanced search and resource limits

Input eligibility and successful bounded search are different. A file within a plan's row/byte limit may still contain a context too broad to search completely. Narrow the legitimate operation context, review member scope and reduce irrelevant compare fields only when business requirements permit. Never split an operation merely to manufacture a unique match.

If Incomplete searches is nonzero, inspect the cause and retained candidates. A blank filtered list does not mean no further alternatives exist. A watchdog/cancelled run is not a completed incomplete result. Internal TEST_DEVELOPMENT profiles are not approved operating limits. The approved operating envelope in chapter2 applies while Advanced is available; check service availability if access is closed.

Preparation, search, retained candidates, review and reports have separate versioned resource budgets. Reading rows does not spend the combinatorial search allowance. Logical byte counters are not measurements of browser heap or RAM. Preparation or review resource failure aborts safely without publishing partial accepted results; search exhaustion remains explicitly Incomplete. Recognized historical profiles and artifacts remain readable in their original contexts. No automatic profile substitution or journal migration occurs; incompatible imports are rejected. Use the matching local journal and configuration context. Public legacy/F1/F2 workflows and reports retain their existing contracts.

15. Practical examples

Vendor statement versus ledger

Compare one vendor's statement and ledger extract. Map Invoice Number, Invoice Date, original Invoice Amount and Currency. Keep Invoice Number as TEXT; verify that leading zeros identify the same document before changing them. Apply Vendor, set a justified amount tolerance such as 0.01, and review Only A/B, differences and duplicate references. An amount difference does not establish which system is correct.

Payroll

Use Employee ID + Wage Type + Effective Date when that composite identifies a wage record. Keep IDs as TEXT. Compare amounts as NUMBER, names/cost centers with appropriate TEXT rules, and relevant calendar fields as DATE. Review the Payroll defaults before accepting leading-zero normalization or ±1 day. Use the synthetic sample to learn the result categories without entering private payroll data.

ERP/SAP export

Compare a vendor statement with a compatible SAP supplier line-item export. Apply Vendor with the SAP preset, confirm XBLNR/BLDAT/WRBTR/WAERS mappings, and check document amount/sign/currency. If a reference repeats across companies or lines, add a genuinely shared Company Code or Line Number to the key only when it represents the same entity in both exports. Use Custom for a different document identity. Do not expect the preset to aggregate lines or reconcile partial payments.

Data migration validation

Treat a source-system export as A and a target-system export as B. Map equivalent columns even if names changed. Choose stable source/target identities, use TEXT for lexical IDs, and compare quantities, dates and attributes with explicit rules.

MatchDock helps reconcile the evidence. It does not execute the migration, transform data, perform ETL, write to either system or formally certify the migration.

Case 1 - Bank complete 1:N

Use one shared reference BANK-1, ISO date 2026-10-01 and unit EUR on every row. Map reference as exact TEXT key and amount as NUMBER compare; use EXACT, KEEP/KEEP, WHOLE_BLOCK and 1:N. A contains 1250; B contains 500, 300 and 450. Every selected DATE/TEXT predicate must pass. The complete B total is 1250: one accepted unit owns 1 A and 3 B rows, difference 0, coverage A/B 100%/100%. This detects a configured aggregate equality, not an accounting explanation.

Case 2 - Bank subset and remaining row

Add B=200 under BANK-1. WHOLE_BLOCK now totals 1450 and cannot select only three rows. Explicitly change Group membership to BOUNDED_SUBSETS and rerun with adequate complete scope. The unique qualifying membership 500+300+450 is accepted; B=200 remains Only B. Coverage A is 100%, B is 75%. Reverse A/B for a symmetric N:1 with A=200 remaining Only A. Adding 600 and another 200 creates competing combinations with 450; inspect alternatives instead of expecting an automatic winner.

Case 3 - N:M aggregate equality

Under one exact context, A=60+40 and B=50+50, all EUR and same date/text. Enable N:M. Both sums are 100, but the candidate remains review-required and initially reconciles no rows. Inspect all four members, use Accept and acknowledge that no individual allocation is demonstrated. After a valid confirmation, coverage becomes 100%/100%. Undo returns the candidate to review with no accepted ownership.

Case 4 - Vendor transposed reference

Use exact vendor/period context, amount 100 EUR and identical date, with TEXT identity ABC12345 on A and ABC12354 on B. Choose Damerau-Levenshtein and an explicit synthetic threshold of 80%, maximum one edit, allowing the eight-character identities. One transposition has distance 1 and similarity 7/8, so it can generate a suggestion after all gates pass. It owns no rows before confirmation. Inspect the changed digits and original files, then accept only if they are the same invoice. A score alone cannot answer that question.

Case 5 - Payroll and SAP configured rules

Keep ordinary Payroll or SAP presets Off for exact1:1. For a deliberate grouped payroll example, review mappings to use one employee/period context, A=1000 and B=700+300 in the same declared unit, identical selected dates and equal required text. Enable WHOLE_BLOCK 1:N; one complete accepted unit reconciles all rows. For SAP use a clearing-document context, A=60+40 and B=50+50, and explicitly enable N:M: the equality needs human confirmation. Do not aggregate different employees, currencies or unrelated documents because an amount happens to fit.

Case 6 - Difference confirmed

Select BOUNDED_SUBSETS under one context, A=100 and B=60+50 with EXACT and all other checks valid. The retained whole-block candidate fails the amount check: the sums differ by -10 (A minus B). Open Review candidates, choose Failed checks and inspect that whole correspondence. Use Confirm this difference only if those are the intended corresponding rows. A WHOLE_BLOCK-only run can already record an authoritative difference; that baseline is not a new human decision. It remains VALUE_MISMATCH, coverage 0%/0%; ownership records the confirmed correspondence rather than a fabricated equality. Interpret and correct the business difference outside MatchDock.

The fixed synthetic demo includes A=17 and seventeen B rows of 1 in one context. Its explicit development scope is intentionally exceeded. Results discloses INCOMPLETE; no uniquely demonstrated automatic unit is claimed even though the numbers appear obvious. Inspect the stated limit and adjust a legitimate context/scope, or retain the unresolved evidence. This fixture is not a Production capacity threshold.

Case 8 - Journal and Undo

Accept the N:M candidate from case 3, download its local journal and retain the original files/rules. Inspect Decision journal, Undo that active decision and confirm the return to no accepted N:M ownership. Import the earlier compatible journal: replay restores the accepted aggregate and coverage. The final semantic facts can match the earlier state, while the ordered audit history differs after Undo. A journal for case 3 cannot reproduce decisions on changed source files.

16. Troubleshooting

What you seeWhat it meansWhat to do
File could not be used / unsupported formatThe file is not a usable CSV or standard XLSX.Export a supported unencrypted copy. Renaming an extension does not convert its contents.
File too large or too many rowsA source exceeds its verified plan/format limit.Check both rows and MiB; reduce the extract or use the appropriate verified plan. Splitting must preserve comparable business scope.
Too many columnsA source exceeds 500 columns.Prepare a narrower source export while keeping required identity and comparison columns.
No data rows / wrong previewThe sheet/header or source structure is wrong.Return to Sheet & header; choose the actual table and header. Completely blank rows are omitted.
Continue is disabled in MappingMappings or template requirements are unresolved.Confirm pairs; resolve missing/ambiguous columns or explicitly skip unwanted template compares.
Invalid keyA required component is empty, tokenized Empty, or invalid for its type/format.Inspect raw and normalized values. Correct the source or intended rule; do not add an arbitrary substitute key.
Duplicate / ambiguousMore than one candidate shares the identity or tolerant date range.Review all candidates. Use an additional genuinely shared identity component or correct duplicates at the source.
Invalid numberThe raw value cannot be parsed under the selected source number format.Check formats. Use an explicit token for a genuine textual sentinel, or TEXT if the field is an identifier.
Ambiguous number formatAuto detect has multiple interpretations.Select 1,234.56 or 1.234,56 independently for the relevant source.
Unsupported numeric precisionToo many supported digits/fractional places, or a delivered typed numeric cell exceeds its precision guard.Use trustworthy ordinary decimal text within the domain. Correct the source representation; do not expect rounding or recovery of missing digits.
Unsupported numeric magnitudeThe value is outside the supported decimal magnitude, including nonzero values below the supported fractional resolution.Prepare an appropriate source value or choose TEXT when mathematical comparison is not intended. Do not substitute zero.
Unsupported/unsafe typed XLSX numberThe reader-delivered numeric value fails a numeric safety guard.Export the original exact value as CSV/textual XLSX if available. Converting an already-rounded value cannot restore digits.
Invalid or ambiguous dateThe value is unsupported or its day/month order is unclear.Select the source's explicit date format and verify valid calendar dates.
Review disabled after a rule editA tolerance or token draft is invalid, blank while enabled, duplicated or over its limit.Correct the visible error or disable the optional rule. Nothing is silently truncated or deduplicated.
Run Again asks for format/mapping reviewThe newly inspected structure or samples need review, sometimes because of sentinels.Check affected references, Review mapping and Rules; preserve only the intended bindings. Update the saved workflow explicitly after a successful run.
Saved workflow changed / revision conflictAnother update advanced the saved revision.Reload My Workflows, open the latest definition and review before updating.
Workflow cannot be used / version unavailableThe current client cannot safely use that definition or the account service is unavailable.Reload the current site and sign in if needed. Do not run with silently missing rules; contact support if it persists.
Save unavailable / workflow limit reachedPro is not verified/active, or 25 workflows already exist.Check My Workflows and account status. Delete only configuration you no longer need; keep local evidence separately.
XLSX sheet row/column limitA category cannot fit an Excel worksheet.Choose Export Evidence Package explicitly; no partial XLSX or silent split is created.
Export cell-length limitA protected text/evidence cell exceeds 32,767 UTF-16 units.Inspect unusually long source values or configuration; prepare a legitimate narrower extract. Package retains the same guard, and no export truncates evidence.
Cancelled export / no successful downloadGeneration did not complete, or the browser could not make the output available.Check the visible status and browser download handling. Retry only after resolving the error; a partial file is not valid evidence.
Browser memory/resource failureThis dataset/export needs more resources than the current environment can provide.Use a modern Chromium desktop browser, reduce competing tab load or prepare a smaller comparable extract. Results and export capacity can differ.

Advanced troubleshooting and FAQ

SituationMeaningAction
Advanced controls absentAdvanced is paused or unavailable or availability cannot be verifiedCheck account, connectivity and current service availability; contact support if needed. Legacy remains available.
Required context/unit/threshold errorThe rule is incompleteConfigure the mapped context and every required policy before Run.
Several subsets fitPhysical memberships are ambiguousInspect all relevant alternatives; make an explicit human choice if justified.
No candidate in a filtered viewOnly this view is emptyClear filters and inspect incomplete populations; do not infer exhaustive absence.
IncompleteSearch did not examine the entire permitted spaceRead the cause; no automatic uniqueness claim is valid.
Rows already adjudicatedAnother authoritative unit owns a selected rowInspect current decisions; use atomic Replace or Undo when appropriate.
Journal context errorSources/rules/profile differ or artifact is invalidUse the original compatible run; do not manually edit the journal.
Preview/export bound exceededComplete retained facts cannot fit the guarded artifactReduce optional samples or a legitimate reconciliation scope; nothing is silently removed.

17. Known limitations and further help

MatchDock processes two local CSV/XLSX sources and one selected sheet per source. Advanced adds bounded 1:N/N:1/N:M and reviewed fuzzy 1:1 suggestions. It does not provide fuzzy automatic acceptance or fuzzy groups, unrestricted N:M optimization, multi-source matching, direct SAP/database connections, PDF/OCR input, ETL, write-back, AI or remote embeddings, FX, accounting or migration certification. F3 accounting classification labels and external opening/closing balance reconciliation are outside this edition. Chapter20 explains source Control Totals and their independent service availability. New Advanced operations remain subject to current service availability.

Exact numeric behavior is bounded by the supported NUMBER domain and the delivered source values. It does not promise arbitrary precision, textual scientific notation or recovery of digits lost before reading. DATE is calendar-day comparison rather than time-of-day reconciliation.

Ordinary outer whitespace is trimmed for built-in emptiness and token matching. Zero-width characters and unusual characters such as U+0085 are not ordinary trim-empty whitespace. This release does not promise to remove every invisible Unicode character; inspect source values if visually identical text behaves differently.

A template supplies a reviewed starting point, not proof of compatible business semantics. An export records the effective reconciliation evidence, not a financial or migration certification. Review exceptions, extraction scope and rules before relying on a result.

When reporting a problem, describe the step and visible error. Avoid sending private spreadsheet data or configuration tokens unless you have deliberately approved that disclosure.

18. Professional and Client-ready reports

Professional Report is available with verified Pro access after a completed reconciliation. Free keeps its existing Detailed Excel and Evidence Package exports. Input limits and pricing are unchanged.

Create and preview

  1. In Results, choose Professional report · Pro. If your Pro account is not verified, use Get Pro when signed out or Upgrade to Pro with a Free account, then return and choose Refresh verified access.
  2. Optionally edit Title, Project / Period and Note. These are local report annotations; they do not change the reconciliation or save into a workflow. Title is required. Title and Project / Period allow 200 UTF-16 units each; Note allows 2,000.
  3. Include filenames and Include exception samples are both Off initially. Enable filenames only when you intend to distribute source names. Configuration labels, tokens and notes can still be sensitive with filenames Off; the report is not anonymized.
  4. Choose Create preview. The preview and both downloads use the same frozen whole-run snapshot. Search, filters, the active category and page do not narrow the report.
  5. Choose Download report XLSX or Download printable HTML. The XLSX has three sheets, in order: Summary, Configuration, Exceptions. The HTML is self-contained and can be opened locally. Use your browser's Print / Save as PDF command; MatchDock does not generate a native report PDF in V1.6.

Summary uses the same canonical outcome counts and reconciled percentage as Results. It distinguishes pairs, source rows and ambiguous groups. Configuration records the rules actually executed, source extraction scope and recorded template/Custom/confirmed-change or workflow context. Unconfirmed Suggestions and Drift candidates are not executed rules.

Optional bounded examples

Samples cover Differences, Only A, Only B, Duplicates, Invalid keys and Within tolerance; exact Matched cases are not sampled. Selection is deterministic from the completed run, with at most ten cases per category. Invalid A/B share that ten-case limit but remain distinguishable. Each case shows at most five relevant compared fields; an ambiguous group shows at most five candidate rows in total, separated into A and B. It never pairs duplicate candidates into a Cartesian product.

X of Y shown identifies omitted cases, fields, reasons and candidate rows. Examples are illustrations, not a statistical sample or a complete exception review. Use Export Excel for full structured evidence where physically representable, or Export Evidence Package for complete large-scale evidence.

NUMBER examples retain canonical decimal text, exact differences and recorded absolute/percentage decisions. A rounded percentage ratio is display-only. Within tolerance can also result from DATE tolerance. Typed XLSX numbers reflect the value delivered by the reader; the report cannot recover upstream digits.

Cancel, errors and privacy

Cancel report stops preparation or generation without downloading a partial artifact. Results remain available, and you can retry. Closing the dialog releases its preview; options remain local to the current Results run. Report content is not automatically stored in a workflow or backend.

Public legacy/F2 reports retain their 4,194,304 UTF-16 text-unit snapshot budget, 32 MiB artifact limit and 32,767-unit protected spreadsheet-cell limit. Advanced exports additionally distinguish configured evidence volume, output bytes and working memory; the initial approved profile uses 192 MiB evidence and 192 MiB output per artifact, with separate finite work and memory guards. This is not a promise of a 192 MiB portable download: portable output also retains compressed parts and their Blob-construction overlap within the separate working-memory budget. The effective portable size depends on the actual report facts and retained state; an incremental native destination avoids retaining the whole compressed file, but still obeys output, work and storage limits. Local journal import uses the byte budget supplied by the current Worker session. These are report guards, not dataset capacity limits. An exceeded guard produces an explicit error rather than truncation. Disable samples or filenames when relevant and retry; unusually long configuration/values may still require correction. A cancelled or failed report is not a valid downloadable artifact.

Generation and preview remain local to the browser. A report can support source-to-target reconciliation, post-migration evidence review and human review before sign-off. It does not certify, approve or sign a migration or the data. V1.6 has no native PDF, branding, signatures, charts, report fingerprint or cloud report history.

V1.7 Client-ready mode

In the same Professional report · Pro dialog, change Report mode from Professional to Client-ready. Professional remains the original three-sheet XLSX and printable HTML flow. Client-ready adds Download native PDF alongside those downloads. It uses the same frozen whole-run snapshot as its preview; Search, filters and pagination never narrow its facts.

Choose Create preview, then download one format at a time. Client-ready XLSX still has Summary, Configuration, Exceptions; it is an analytical artifact, with exact decimal evidence stored as protected text. HTML is self-contained, script-free and printable. Native PDF is generated directly and locally in an owned Worker, with A4 pages, headings, repeated table headers, page numbers and selectable text. No report or logo is sent to a server.

The bundled PDF font supports English, Spanish and tested Latin, Greek and Cyrillic text. It does not cover all Unicode scripts. Unsupported glyphs, including the tested CJK/emoji cases, produce an explicit PDF error instead of missing-character boxes. HTML and XLSX preserve those values and remain available as explicit alternatives. This is not a PDF/UA or universal printer/reader fidelity claim.

Optional exact financial summary

Include financial summary is Off by default. To enable it:

  1. Select one Financial amount field that is a NUMBER compare mapping. MatchDock does not infer that every NUMBER is money.
  2. Enter its common Declared currency / unit, up to 32 UTF-16 units, for example USD or hours. You are declaring that all eligible amounts share that unit. The app does not infer it from symbols, labels or locale.
  3. Optionally select a TEXT currency validation mapping. A currency column is not required. When selected, each eligible normalized TEXT value must equal your declaration; missing, mixed or conflicting units make the entire financial summary unavailable. Empty/invalid selected amounts also prevent totals. No partial totals are published.

The eligible scope is valid unique pairs and Only A/B rows. Duplicates and invalid-key rows are excluded with counts. Source A and B totals remain separate. Total net A minus B includes paired totals plus Only A/B; Paired net and Paired gross absolute difference cover pairs only. Per-category paired totals distinguish Matched, Within tolerance and Differences. Within tolerance can still have a nonzero exact difference. A run with no eligible amounts is Not applicable.

All sums and differences are canonical exact decimal strings, without Number conversion, FX, currency inference or extra monetary rounding. Net compensation can hide opposing differences, so paired gross is displayed separately. These mathematical totals do not claim loss, overpayment or financial impact. Locale and branding never change the arithmetic. The two charts show valid unique A coverage and A/B exception row counts; they do not sum money or mix groups with row units.

Local profiles and technical identity

Save profile explicitly saves reusable language, depth, branding, field/unit selections, filename-inclusion preference and preferred format in this browser. Use Refresh profiles, Apply profile, Delete profile or Reset profiles explicitly; there is no automatic save or account sync. Applying a profile validates its field choices against the current run and clears any logo. All three downloads remain available regardless of preferred format.

Profiles exclude logos, results, source contents, actual filenames, execution IDs, fingerprints, generated reports, Title, Project / Period and Note. Branding itself can be sensitive. There are at most 20 profiles, a 100-unit name limit, 16 KiB per serialized profile and 256 KiB total. Invalid/corrupt profiles or unavailable browser storage cause a controlled error without silently replacing saved profiles.

The Client-ready report declares Report schema 2 for legacy/KEEP runs or Report schema 4 for active polarity, and a separate Execution ID. Its Report ID is MD- plus the first 32 hexadecimal characters of a full local SHA-256 fingerprint. The fingerprint covers bounded report facts, effective configuration including executed sign policies, options, financial results, branding/logo digest, language and catalog version. It excludes the generated timestamp and artifact byte layout. PDF, HTML and XLSX from the same preview therefore share identity even though their bytes differ. The shortened ID is a display reference and can theoretically collide; retain the full fingerprint when comparing artifacts. It is not a signature, certificate, proof of authenticity or hash of all input/full-evidence rows.

Client-ready retains the existing snapshot, artifact and cell guards. PDF additionally has a 200-page cap and conservative text/table/layout bounds before layout allocation; a complex report can be rejected before reaching 200 pages. Nothing is silently removed. Reduce sample depth or unusually long report content when relevant and retry, or choose another explicit format. Cancellation produces no partial downloadable report and preserves Results. Closing the dialog releases the preview and logo; other options remain local to the current Results run. Client-ready does not add cloud report history, approval, FX or app-wide localization.

Advanced Professional and Client-ready reports

The same Professional report dialog prepares Advanced facts from one frozen Worker revision. Professional5 provides English printable HTML and report XLSX. Client-ready6 provides EN/ES preview, HTML, native PDF and report XLSX with existing branding/language/profile controls. Use Client-ready for Spanish deliverables; changing app language alone does not rewrite an existing report draft.

Choose Report mode, language/depth and optional branding, then Create preview. Inspect coverage A/B, row/unit counts, completeness, rules, human decisions and any financial summary before downloading. Samples show every member of each selected group and disclose population/retention limits. Samples Off still preserves the full ID-only decision ledger; it does not publish all business member values. Detailed XLSX/Package4 preserve full retained evidence separately.

Advanced confirmed VALUE_MISMATCH remains a difference in every format. Fuzzy human-confirmed identity is disclosed; N:M does not invent line allocations. Optional finance uses each eligible physical member once and each unit's aggregate difference once. It is the existing scoped reporting summary, not F4 opening/closing balances or an accounting control system.

HTML/PDF/XLSX from the same preview share facts and Report ID. Language/options can change the presentation-bound fingerprint without changing reconciliation facts. Semantic identity represents the final authoritative state; the separate audit digest preserves ordered decisions. Undo can restore the semantic state while retaining a different audit history. A shortened MD- identifier and full digests support comparison, not authentication, legal approval or signatures.

Do not distribute a stale preview after changing decisions. Prepare a new preview for the new revision. New Advanced reports require Pro and active service availability. If availability closes, existing completed files remain local; never treat an interrupted export as a valid report.

19. Application language and Pro access

The application language selector switches between English and Español and saves the choice in this browser. It changes MatchDock-owned interface text, not uploaded data, saved workflow configuration or report content already created. Public Spanish pages use /es/...; existing English URLs remain unprefixed. The selected application language is only the initial report-language default for a new report. An explicit report choice or a saved profile takes precedence.

The public interface selector also saves that preference. Entering the application from an English public page opens it in English; entering from a Spanish public page opens it in Spanish. Private application URLs stay unprefixed, and a later explicit choice inside the application takes precedence. The manual's edition links are ordinary document navigation; entering the application from the selected manual edition carries that edition's language when the browser supplies its same-origin referrer.

Free reconciliation works without an account. Sign in is the normal account-access action. Get Pro opens the existing email-code identity flow, which supports signing in or creating an account, and preserves the intended Pro destination. Once authenticated, a Free account sees Upgrade to Pro and can choose monthly or annual billing without another sign-in. Monthly is €15/month. Annual is €144/year, equivalent to €12/month and 20% less than twelve monthly payments.

A Paddle-backed Pro account shows Pro as active and offers Manage subscription. Courtesy Pro also shows active access, without a purchase or Paddle-management action. Signing out returns the header to its anonymous actions. Opening checkout or changing a local browser preference does not grant Pro; access follows the entitlement confirmed by the account service. Application-language changes do not rewrite workflow data or create a workflow revision.

20. Control Totals

Availability and purpose

Control Totals are available while their independent service availability is ACTIVE. Basic controls accompany Free Legacy/F1/F2 within the existing limits. Advanced on your own files, saved workflows and Professional/Client-ready reports require Pro. Control Totals can be paused independently of Advanced. New operations need a current compatible authorization; a paused or unavailable control does not alter matching or silently discard saved settings.

Controls explain the physical and monetary populations of the two selected sources. They do not reconcile an external opening/closing balance, perform FX conversion, certify accounting, or establish that the files are complete or correct. A zero source difference does not prove that every row has reconciled.

Configure amount, unit and scope

In Rules, explicitly enable Calculate source control totals, select a mapped NUMBER compare field and declare its unit, such as EUR. An optional mapped TEXT validator checks every included row against that unit. Do not combine different currencies or quantities under one declaration. No currency is inferred or converted.

The scope is every evaluated row below the selected header in the selected parser region, including duplicate, unresolved and invalid-key rows. Blank excluded rows, other sheets and pre-header rows are outside it. A footer is not automatically excluded. Confirm comparable scopes and units only when you have checked that statement for these files.

Original parsed and effective amounts

Original parsed is the exact decimal obtained from the delivered value under the selected NUMBER format. Effective is the amount used after that source's KEEP/NEGATE policy, applied once by the Worker. Neither replaces the original file value. An invalid or unsupported amount is not silently treated as zero.

For XLSX, formulas are not recalculated: a usable stored result must exist. Date styles and the workbook's date system influence the delivered value. Error cells remain errors; typed numeric cells cannot recover precision lost in the source. Ambiguous NUMBER/DATE values require explicit source formats. Check the original export when its stored results are stale or missing.

Read the populations

IDMeaning
PEvery evaluated physical source row
RPhysical rows in reconciled units
DPhysical rows in determined differences, including a confirmed difference
ORows only in this source
UUnresolved physical rows, including ambiguous or review-pending groups
IInvalid-key physical rows
ERows eligible for the existing financial reporting summary
XRows excluded from that reporting summary

P is partitioned by R/D/O/U/I. E/X describe a separate reporting scope. Units and candidates are not additional physical rows. A grouped unit contributes each owned member once; alternatives do not create ownership. Net paired difference allows signs to offset; gross paired difference sums absolute unit differences. A confirmed difference stays a difference and does not increase reconciled coverage.

UNKNOWN, ERROR and incomplete matching

UNKNOWN means a complete population cannot produce a numeric total, for example because an amount is missing, invalid, too precise, or its unit conflicts. The interface lists causes and does not present a partial sum as the population total. ERROR or a cancelled/resource-limited control read means controls could not complete; it does not alter the authoritative matching result.

An incomplete matching search remains explicitly incomplete even when source totals are calculable or equal. A successful control read does not establish matching uniqueness or search completeness. Conversely, a control failure never fabricates an incomplete matching search.

Review, Undo and new files

Accept, reject, change and Undo use the existing Review protocol. Controls are read for the resulting authoritative revision. An obsolete or cancelled read cannot replace a newer revision. Locale changes only translate the view.

A saved workflow retains structural control choices and comparability intent. It stores no source rows, amounts, candidates, journal or reports. Run Again with new files requires a new comparability confirmation; the saved declaration is not evidence about the new files.

Reports and local evidence

Prepare a new preview after changing the revision. Professional/Client-ready HTML, PDF and summary XLSX consume one frozen Report7, including explicit controls ON/OFF. Detailed2 shows full members and controls; Package5 contains eleven canonical members, with the final manifest, source bindings, matching/control/semantic roots and the applicable audit history. SamplesOFF removes bounded summary samples, not retained financial evidence. Digests are integrity commitments, not signatures.

If controls cannot complete, an ON report is blocked. You may retry or explicitly choose an OFF report; the app must not silently omit requested controls. Ordinary existing evidence exports remain separate. A completed file requires the destination to close successfully. Cancelling a native save produces no successful export.

Resource boundaries

Controls, freeze and export share the existing bounded read/report resources. They do not consume a fresh matching budget or raise the approved operating limits. A configured input limit is not a promise that every width, history and report fits. Narrow the input/context or choose explicit OFF where appropriate; do not interpret an unavailable total as zero. Control Totals has been verified with up to 1,000 rows per source in the qualified functional corpus. This is a qualification boundary, not a new commercial input limit. Larger controls or exports can reach a resource limit without invalidating matching. Exotic XLSX/formula combinations and every native save dialog have not been universally qualified.