Installation

# Add this to your shard.yml
dependencies:
  bill:
    github: GrottoPress/bill
    version: ~> 0.22.0

Then run:

shards install

shard.yml

Crystal
~> 1.6
License
MIT
Authors
GrottoPress, N Atta Kusi Adusei

Dependencies

Runtime Dependencies

  • lucille~> 1.5github: GrottoPress/lucille

Development Dependencies

  • ameba~> 1.2.0github: crystal-ameba/amebadev
  • avram~> 1.0github: luckyframework/avramdev
  • lucky~> 1.0github: luckyframework/luckydev
  • carbon~> 0.3.0github: luckyframework/carbondev
  • lucky_env~> 0.1.4github: luckyframework/lucky_envdev

README

Bill

Bill is an Accounts Receivable automation system for Lucky framework. It includes tools for creating and tracking invoices, credit notes, receipts and more.

Bill keeps an immutable ledger of transactions from which balances can be efficiently computed. Whenever a business event occurs, a record is kept in this ledger.

Bill is designed for use cases where a self-service application charges users for products or services, or for online marketplaces where businesses charge registered users for same.

Documentation

Find the complete documentation in the docs/ directory of this repository.

Todo

  • [x] Ledger
  • [x] Invoices
  • [ ] Taxes
  • [ ] Discounts
  • [x] Credit Notes
  • [x] Receipts
  • [ ] Businesses

Development

Create a .env file:

DATABASE_URL=postgres://postgres:password@localhost:5432/bill_spec

Update the file with your own details. Then run tests with crystal spec.

Contributing

  1. Fork it
  2. Switch to the master branch: git checkout master
  3. Create your feature branch: git checkout -b my-new-feature
  4. Make your changes, updating changelog and documentation as appropriate.
  5. Commit your changes: git commit
  6. Push to the branch: git push origin my-new-feature
  7. Submit a new Pull Request against the GrottoPress:master branch.