Installation

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

Then run:

shards install

shard.yml

Crystal
~> 1.6
License
MIT
Authors
GrottoPress <info@grottopress.com>, N Atta Kusi Adusei

Dependencies

Runtime Dependencies

  • lucille~> 1.0github: 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:

```env
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](https://github.com/GrottoPress/bill/fork)
1. Switch to the `master` branch: `git checkout master`
1. Create your feature branch: `git checkout -b my-new-feature`
1. Make your changes, updating changelog and documentation as appropriate.
1. Commit your changes: `git commit`
1. Push to the branch: `git push origin my-new-feature`
1. Submit a new *Pull Request* against the `GrottoPress:master` branch.