for line in lines: line = line.strip() if not line: continue # Remove IIF header markers (!, ^) if line.startswith('!'): line = line[1:] # remove ! # Replace ^ with delimiter (IIF uses ^ for repeated fields) line = line.replace('^', delimiter) # Split into fields fields = line.split(delimiter) # Identify transaction lines (TRNS) and split lines (SPL) if fields and fields[0] == 'TRNS': # Save previous transaction if exists if current_trans: output_rows.extend(current_trans) current_trans = [] transaction_id += 1 fields.insert(0, str(transaction_id)) # add group ID current_trans.append(fields) elif fields and fields[0] == 'SPL' and current_trans: fields.insert(0, str(transaction_id)) # same group ID current_trans.append(fields) else: # Header rows (ACCNT, CUST, VEND, etc.) - no grouping needed fields.insert(0, '0') # group ID 0 for non-transaction data output_rows.append(fields)
output_rows = [] transaction_id = 0 current_trans = [] iif to csv converter free
# Write to CSV with open(output_file, 'w', newline='', encoding='utf-8') as csvfile: writer = csv.writer(csvfile) for row in output_rows: writer.writerow(row) for line in lines: line = line
WEB CLIENT VERSION
version-d599f7fc52a8404c
MICROSOFT STORE VERSION
2025.1111.240.0
ANDROID CLIENT VERSION
2.679.1763
MAC CLIENT VERSION
version-f18963d432b94bd7
Last Web Client Update: 2026-03-04
Last MS Store Update: 2025-11-26
Last Android Update: 2025-07-07
Last Mac Update: 2026-03-04
Supported Script Executors:
SirHurt has no association with any of the above products and will not be held liable for any harm or damage caused to you by third party products. This service is provided as is and SirHurt has no obligation to maintain or ensure information displayed is accurate. By using this service you agree to our Terms of Service.