# conversion rules for paypal CSV (2018 format, default fields) # sample: # "Date","Time","TimeZone","Name","Type","Status","Currency","Gross","Fee","Net","From Email Address","To Email Address","Transaction ID","Shipping Address","Address Status","Item Title","Item ID","Shipping and Handling Amount","Insurance Amount","Sales Tax","Option 1 Name","Option 1 Value","Option 2 Name","Option 2 Value","Reference Txn ID","Invoice Number","Custom Number","Quantity","Receipt ID","Balance","Address Line 1","Address Line 2/District/Neighborhood","Town/City","State/Province/Region/County/Territory/Prefecture/Republic","Zip/Postal Code","Country","Contact Phone Number","Subject","Note","Country Code","Balance Impact" # "1/1/2018","02:15:42","PST","Calm Radio","Subscription Payment","Completed","USD","-6.99","0.00","-6.99","simon@joyful.com","memberships@calmradio.com","0XG02A4F70310002N","Eric, Harry","Non-Confirmed","MONTHLY - $1 for the first 2 Months: Me - Order 88290. Item total: $1.00 USD first 2 months, then $6.99 / Month","","","","","","","","","I-8RXL1Y23JYX","","","","","0.00","","","","","","","","MONTHLY - $1 for the first 2 Months: Me - Order 88290. Item total: $1.00 USD first 2 months, then $6.99 / Month","","","Debit" # skip the header line skip 1 # name the csv fields, and assign some of them as journal entry fields # "Date","Time","TimeZone","Name","Type","Status","Currency","Gross","Fee","Net","From Email Address","To Email Address","Transaction ID","Shipping Address","Address Status","Item Title","Item ID","Shipping and Handling Amount","Insurance Amount","Sales Tax","Option 1 Name","Option 1 Value","Option 2 Name","Option 2 Value","Reference Txn ID","Invoice Number","Custom Number","Quantity","Receipt ID","Balance","Address Line 1","Address Line 2/District/Neighborhood","Town/City","State/Province/Region/County/Territory/Prefecture/Republic","Zip/Postal Code","Country","Contact Phone Number","Subject","Note","Country Code","Balance Impact" fields date, time, timezone, description, type, status_, currency, grossamount, feeamount, netamount, fromemail, toemail, code, shippingaddress, addressstatus, itemtitle, itemid, shippingamount, insuranceamount, salestax, option1, option1value, option2, option2value, referencetxnid, invoiceno, customno, quantity, receiptid, balance, addressline1, addressline2, city, state, zip, country, contactphone, subject, note, countrycode, balanceimpact # date is in US format date-format %-m/%-d/%Y amount %netamount #if In Progress # skip # set the base account account1 assets:personal:online:paypal # replace a USD currency symbol with $ if ,USD, currency $ # save some other fields as tags comment time:%time, type:%type, status:%status_, balance:%balance TODO: revenues:business:donations:TODO:%grossamount expenses:business:banking:paypal:%feeamount # match if itemid is non-empty. The double quotes enclosing each field have been removed at this point. # if ^[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]*,[^,]+ # description %description <%fromemail> for %itemid comment for:%itemid, time:%time, type:%type, status:%status_, balance:%balance, gross:%grossamount, fee:%feeamount # if these uninteresting paypal txns are included, mark them for manual deletion if Update to Temporary Hold description %4 ; TODO: delete this, type is %type # 2017 CSV format ? if Add Funds from a Bank Account description add funds to paypal # 2018 CSV format ? # name is "Bank Deposit to PP Account (Obselete)", # type is "Pending", but it seems required if Bank Deposit to PP Account description add funds to paypal include common.rules if INTEREST PAYMENT account2 revenues:personal:interest if Donation Received Recurring Payment Received account2 revenues:business:TODO refine