FIELD NOTES · ACCEPTANCE EXERCISES

A line break inside CSV is not necessarily a new record

A product description or project brief can contain a comma, quotation marks and a line break. A supplier who splits the file on every newline can create phantom records even when the text encoding is correct. Commission record-boundary tests separately from UTF-8 and spreadsheet formula checks.

Primary evidence and claim boundaries

RFC4180 documents quoted fields containing commas, double quotes or line breaks, with doubled quotes inside quoted fields. It is an informational format description and acknowledges implementation differences. Primary reference · Read 18 October 2026.

Filled acceptance example

Original synthetic teaching scenario, not a client case, provider integration test or business result. The example policy needs the actual owner’s approval; scroll the table on narrow screens.

Input and stateDeclared checkExpected output and decision
SKU,description header; A,"Line1<CRLF>Line2"One embedded line breakOne data record with two fields; preserve description line break
B,"Red, blue"Comma inside quoted descriptionOne description field, not two
C,"He said ""yes"""Doubled inner quotesDecoded description: He said "yes"
D,"Unclosed descriptionQuoted field never closesReject with record context; do not guess a repair

Practical handover procedure

  1. Declare delimiter, quote convention, line endings, encoding and header presence. Send the receiving supplier the actual tiny fixture, not a screenshot of spreadsheet cells.
  2. Parse the fixture as CSV records, compare exact decoded cell strings and verify a stable number of fields. Include the intentionally unclosed row as a separate negative file.
  3. Round-trip accepted records through the target exporter and importer. Check line breaks and quotes again before any production import, with formula safety and missing-value rules assessed separately.

Interpret the outcome

The first record occupies multiple physical lines while remaining one logical row. Counting newline characters is therefore not an import reconciliation. A useful receipt includes logical row count, field count and decoded values, with a clear failure on the malformed file.

Acceptance decision

Require exact cell preservation and a rejected malformed fixture under the chosen dialect. Passing encoding checks alone cannot approve row parsing.

Limits and unverified work

Synthetic CSV examples; no spreadsheet, customer record or production import is accessed. Dialects outside the declared contract need their own fixtures.

Download the filled bilingual acceptance record — Contains the inputs, steps, expectations and limits. This is a teaching record, not an executable production integration.