https://github.com/grottopress/bill
Accounts Receivable automation for Lucky framework
https://github.com/grottopress/bill
accounting crystal invoice lucky-framework
Last synced: 11 months ago
JSON representation
Accounts Receivable automation for Lucky framework
- Host: GitHub
- URL: https://github.com/grottopress/bill
- Owner: GrottoPress
- License: mit
- Created: 2021-09-29T21:23:48.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2025-04-13T10:35:47.000Z (12 months ago)
- Last Synced: 2025-04-13T11:34:40.771Z (12 months ago)
- Topics: accounting, crystal, invoice, lucky-framework
- Language: Crystal
- Homepage:
- Size: 524 KB
- Stars: 9
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
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.