Hi @MattM
Thanks for reaching out to us. This is a classic example of a multi-line flat file transformation. Although this transformation is not possible with a CSV connector, we can achieve this with a Flat File connector.
Assuming the data you have can be represented in a CSV format like this:
Header,12345,John Smith,$15.00Line,40123,5mm cable,$5.00Line,40124,10mm cable,$10.00Header,12346,Jane Lane,$10.00Line,40124,10mm cable,$10.00
Here is what you can do to transform in the format you wish:
Step 1: Create a FlatFile connector in your workspace. You can find it in Core Connectors.
Step 2: Select File Type as ‘Character Delimited’ and Delimiter as ‘,’.
Step 3: Now we set Control Field. This section governs how the connector should read the incoming file. Select ‘Enable multi-line mode’ as your file different types of lines governed by control field - Header, Line at Index ‘0’.
Step 4: Next up, set Line Types, one for Header and one for Line control field. Add respective fields for each Control field.
You can leave rest of the settings as it is.
Step 5: Upload your sample file to Input tab and let the connector do its magic. 
Click on the filename to preview the file. Here is how it should look like:
Input:
CSV Input to FlatFile Connector
Output:
XML Output of FlatFile Connector
Step 6: Now that we have an XML output of this, we use an XMLMap, in tandem to transform it into a flattened structure. Create an XMLMap connector in your workspace and connect it to Flat File connector:
Step 7: We reverse engineer now. Look at the output we want and create an XML template for destination accordingly. Here is what it’d look like, based on what you described:
<Items> <LineNumber> <OrderNumber>12345</OrderNumber> <CustomerName>John Smith</CustomerName> <TotalCost>$15.00</TotalCost> <ItemCode>40123</ItemCode> <ItemName>5mm cable</ItemName> <ItemCost>$5.00</ItemCost> </LineNumber></Items>
Step 8: In the XMLMap connector, the Souce file mapping template should be picked up from the FlatFile1 connector. Upload the Destination File template from Step 7.
Step 9: Do the mapping as necessary. However, we ought to be smart about it. There are hierarchical elements in Source and a flat structure in destination.
To ensure, each line item in source creates a new record in destination, create a foreach relationship on Item level:

Step 10: Requeue the input file from FlatFile connector and check the output at XMLMap connector. You should now have a flattened XML that looks something like this:
Output XML of XMLMap
Step 11: Add a CSV connector to convert these into a flat CSV. Make sure that ‘Column Headers present’ checkbox is checked to make sure output CSV has first line as columns.
Step 12: Run the entire flow and voila! You have a flat CSV file out of multi-line flat file created.
Let me know if this helps or if you have any questions!