62 lines
3.4 KiB
Plaintext
62 lines
3.4 KiB
Plaintext
# 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
|