Monday, January 1, 2018

Anatomy of Billsup bills and data export

Hey all,

In case you didn't know, our service is retiring. You can now download your data from the menu (no longer available)



As part of our final blog post, we'd like to leave you with the inner-workings of Billsup's bills.

How Billsup's bills work

  • Participants - all persons involved in a bill
    • Each participant is assigned an id for the bill 
      • E.g. Tom=#1, Mary=#2, John=#3
  • Items - breakdown the cost of the bills by item(s)
    • Each bill has at least one item, and each item contains information of how the cost of that item should be split between the participants. An item could be split between one or more participants.
    • E.g.
      • Appetizer - $30 - Mary and Tom shared - each should pay $15
      • Salad - $13 - Tom should pay
      • Pasta - $16 - Mary should pay
      • Lasagna - $15 - John should pay
      • Dessert - $20 - Mary and John shared - each should pay $10
  • Payers - who paid for the bill
    • the payer could be one or more of the participants.
    • E.g. John paid the entire bill - $94
  • Settle details - contains who should pay whom for the current bill
    • Based on items and payers, the balances are calculated:
      Tom Mary John
      Appetizer 15 15
      Salad 13
      Pasta 16
      Lasagna 15
      Dessert 10 10
      Payment -94
      Balance 28 31 -69

      Settle details
      • Tom->John - $28
      • Mary->John - $31



How about debts?



A debt or a payment has the same inner workings as the above. It's basically the above bill with one item. For example, let's say you input a debt - Tom owes Mary $100
  • Participants = Tom, Mary
  • Item = debt $100 - Tom should pay
  • Payer = Mary
  • Settle details (calculated) = Tom->Mary - $100