My family shares a pay-as-you-go Ting account for our phones, which averages about $20/line/month. We’re supposed to each be paying for our own usage, but only one person gets a bill at the end of the month. This wouldn’t be a problem if there were an easy way to see our usage by phone line with each bill, but Ting doesn’t do that. So splitting up a bill based on usage isn’t easily done.
To make splitting the bill according to usage possible, I threw together some Python code to scrape data from the Ting website, parse it, and spit out the dollar breakdown for each line. Doing so required some reverse-engineering of the ting.com website combined with the Tabula PDF parser.
All of the code, and a description of how it works, can be found in this GitHub repo.
(Full confession: The project was hacked together in the evenings in a rather hot apartment and called “good enough” once it worked, so it’s not the prettiest sample of my code.)