# hledger 1.51 conversion rules for Open Collective's "Platform Default" CSV format. # See README.md for more details. # # Examples: # # A contribution transaction before 2021-06: # "Effective Date & Time","Transaction ID","Description","Credit/Debit","Kind","Group ID","Amount Single Column","Currency","Is Reverse","Is Reversed","Reverse Transaction ID","Account Handle","Account Name","Opposite Account Handle","Opposite Account Name","Payment Processor","Payment Method","Contribution Memo","Expense Type","Expense Tags","Expense Payout Method Type","Accounting Category Code","Accounting Category Name","Merchant ID","Reverse Kind" # "2017-01-20T19:21:45",5126,"Monthly contribution from Simon Michael (Bronze)","CREDIT","CONTRIBUTION","8b272eb0-d303-4cea-99db-3bcc40f54518",8.41,"USD","","","","hledger","hledger","simon","Simon Michael","STRIPE","CREDITCARD",,,"",,"","",, # # A contribution transaction after 2021-06: # "2025-12-23T10:59:07",11299548,"Monthly contribution from Guest (Bronze)","CREDIT","CONTRIBUTION","d40ea8c3-f20f-4a88-8426-8c7405be447c",2,"USD","","","","hledger","hledger","guest-d120c27f","Guest","PAYPAL","SUBSCRIPTION",,,"",,"","",, # "2025-12-23T10:59:07",11299545,"Transaction to PayPal","DEBIT","PAYMENT_PROCESSOR_FEE","d40ea8c3-f20f-4a88-8426-8c7405be447c",-0.59,"USD","","","","hledger","hledger","paypal-payment-processor-vendor","PayPal","PAYPAL","SUBSCRIPTION",,,"",,"","",, # "2025-12-23T10:59:07",11299543,"Host Fee to Open Source Collective","DEBIT","HOST_FEE","d40ea8c3-f20f-4a88-8426-8c7405be447c",-0.2,"USD","","","","hledger","hledger","opensource","Open Source Collective",,,,,"",,"","",, source hledger-transactions.csv #archive fields date_time, transaction_id, description, credit_debit, kind, group_id, amount_single_column, currency_, is_reverse, is_reversed, reverse_transaction_id, account_handle, account_name, opposite_account_handle, opposite_account_name, payment_processor, payment_method, contribution_memo, expense_type, expense_tags, expense_payout_method_type, accounting_category_code, accounting_category_name, merchant_id, reverse_kind, payment_processor_fee, tax_amount skip 1 newest-first date-format %Y-%m-%dT%H:%M:%S date %date_time comment \nid:%transaction_id, group:%group_id, dc:%type if %is_reverse . comment \nid:%transaction_id, reversing:%reverse_transaction_id, group:%group_id, dc:%type # We will generate postings in FROM,TO order most of the time: # posting1 is the source, if any # posting2 is this open collective account # posting3 is the payment processor fee, if any # posting4 is the destination, if any account2 assets:opencollective:%account_name amount2 %amount_single_column %currency_ if %payment_processor_fee [1-9] account3 expenses:fees:processor:%payment_processor amount3 -%payment_processor_fee %currency_ if %payment_processor_fee [1-9] && ! %payment_processor . account3 expenses:fees:processor:%expense_payout_method_type if %kind CONTRIBUTION account1 revenues:contributions:%opposite_account_name if %kind CONTRIBUTION && %credit_debit DEBIT && ! %is_reverse REVERSE account1 expenses:disbursed:%opposite_account_name if %kind EXPENSE account4 expenses:disbursed:%opposite_account_name if %kind HOST_FEE account4 expenses:fees:host:%opposite_account_name if %kind PAYMENT_PROCESSOR_FEE account4 expenses:fees:processor:%payment_processor if %kind PAYMENT_PROCESSOR_COVER account4 expenses:fees:processor:%opposite_account_name