Skip to content

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChequeMyShare

Split shared receipts, track who paid, and settle up cleanly in a static browser app.

Live site: https://ghugeshree.github.io/ChequeMyShare/

What It Does

  • Add participants using names or initials.
  • Add expense line items with an item description, amount, payer, and split participants.
  • Support quick amount expressions like 20+5.50, 30-5, or -5+2.
  • Calculate what each person owes, what each person paid, and their net balance.
  • Suggest a simple settle-up plan, for example F pays S $13.33.
  • Autosave the current receipt draft in the browser with a clear-draft option.
  • Copy a plain-text summary for chat or notes.
  • Upload receipt or trip images and include them in the PDF as a horizontal thumbnail grid.
  • Export a PDF summary with expenses, totals, settlement suggestions, and uploaded images.
  • Show a one-time launch animation that ends on the clipboard logo.

How To Use

  1. Enter Shopped at and Date.
  2. Add at least 2 participants.
  3. Add an expense:
    • Enter the Item description.
    • Enter the Amount.
    • Choose Paid by.
    • Select participants sharing that expense, or use ALL.
  4. Click Add Expense for each line item.
  5. Click Calculate Total to view shares, balances, and settlement suggestions.
  6. Optionally upload images to include in the PDF.
  7. Use Copy Summary for a text summary or Download PDF for a polished export.

Usage Examples

Example 1: Grocery + Snacks

Participants: A, B, C

Expenses:

  • Groceries = 120, paid by A, shared by ALL
  • Snacks = 20+5.50, paid by B, shared by A,B
  • Coupon adjustment = 30-5, paid by A, shared by ALL

How this splits:

  • 120 / 3 = 40 each
  • 25.50 / 2 = 12.75 each for A and B
  • 25 / 3 = 8.33 each

The app then compares each person's share against what they paid and recommends who should pay whom.

Example 2: Movie Night

Participants: J, K, L

Expenses:

  • Movie tickets = 45, paid by J, shared by J,K,L
  • Popcorn = 18, paid by K, shared by J,K
  • Parking = 12, paid by L, shared by K,L

Shares:

  • J = 15 + 9 = 24.00
  • K = 15 + 9 + 6 = 30.00
  • L = 15 + 6 = 21.00

Settlement suggestions are generated from the difference between paid totals and owed totals.

Local Development

This project is intentionally simple: plain HTML, CSS, and JavaScript that can run directly from index.html or from GitHub Pages.

Run tests after installing dependencies:

npm install
npm test

The test suite uses Node's built-in test runner and jsdom for DOM smoke tests.

Deployment

No build step is required. Push the repository to GitHub and serve it with GitHub Pages from the branch/folder configured in the repository settings.

Notes

  • Amount field supports numbers and simple + / - expressions.
  • Add participants first; payer and sharing options are populated from the participant list.
  • Drafts are saved only in the current browser via localStorage.
  • Uploaded images are kept in memory for the current session and embedded into the PDF export.
  • PDF filename uses date format: ChequeMyShare_YYYY-MM-DD.pdf.

About

Split bills between people

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages