updated readme

This commit is contained in:
2026-03-06 22:43:17 -05:00
parent 366104c454
commit 5846eb370d

115
README.md
View File

@@ -1,63 +1,112 @@
# Redmine QuickBooks Line Items # Redmine QuickBooks Line Items
A Redmine plugin to complement the [Redmine QuickBooks Online](https://github.com/rickbarrette/redmine_qbo) plugin. A plugin for Redmine that extends the functionality of the [Redmine QuickBooks Online](https://github.com/rickbarrette/redmine_qbo) plugin.
The goal of this project is to allow attaching billable line items to an Issue. These items are used to automatically generate a QuickBooks Estimate when the issue is closed. This plugin allows **billable line items** to be attached to a Redmine issue. When the issue is closed, the plugin automatically generates a **QuickBooks Online estimate** containing those line items.
---
## Requirements ## Requirements
* **Redmine:** 6.1+ * **Redmine:** 6.1+
* **Ruby:** 3.2+
* **Parent Plugin:** [Redmine QuickBooks Online](https://github.com/rickbarrette/redmine_qbo) (must be installed and configured) * **Ruby:** 3.2+
* **Parent Plugin:** [Redmine QuickBooks Online](https://github.com/rickbarrette/redmine_qbo) (must be installed and configured)
---
## Compatibility ## Compatibility
| Plugin Version | Redmine Version | Ruby Version | | Plugin Version | Redmine Version | Ruby Version |
| :--- | :--- | :--- | | --- | --- | --- |
| 2026.3.2+ | 6.1.x | 3.2+ | | 2026.3.2+ | 6.1.x | 3.2+ |
---
## Features ## Features
* **Billable Line Items:** Easily attach specific billable line items items to any Redmine issue. * **Billable Line Items:** Attach billable products or services directly to any Redmine issue.
* **Automated Estimate Creation:** Automatically generates a QuickBooks Online Estimate upon closing an issue, streamlining the billing workflow.
* **Automated Estimate Creation:** Automatically generates a **QuickBooks Online Estimate** when an issue is closed, streamlining the billing workflow.
### Why Estimates?
Intuit does not currently provide an API for creating **Delayed Charges** in QuickBooks Online.
Because of this limitation, the plugin generates an **Estimate** when an issue is closed. This estimate can later be converted into an invoice within QuickBooks.
The alternative approach would be to modify an invoice directly after it is associated with an issue, which introduces additional complexity and potential synchronization issues.
---
## Installation ## Installation
1. **Clone the plugin:** 1. **Clone the plugin**
Navigate to your Redmine plugins directory:
```bash
cd path/to/redmine/plugins
git clone git@github.com:rickbarrette/z_redmine_qbo_lineitems.git
cd z_redmine_qbo_lineitems
# Optional: git checkout <tag>
```
2. **Install dependencies:** Navigate to your Redmine plugins directory:
```bash
bundle install
```
3. **Migrate your database:** cd /path/to/redmine/plugins
```bash git clone git@github.com:rickbarrette/z\_redmine\_qbo\_lineitems.git
bundle exec rake redmine:plugins:migrate RAILS_ENV=production cd z\_redmine\_qbo\_lineitems
```
\# Optional: checkout a specific version
git checkout <tag>
4. **Restart Redmine:** 2. **Install dependencies**
Restart your application server (Puma, Passenger, etc.) to initialize the plugin hooks.
bundle install
3. **Migrate your database**
bundle exec rake redmine:plugins:migrate RAILS\_ENV\=production
4. **Restart Redmine**
Restart your application server (Puma, Passenger, etc.) to initialize the plugin hooks.
---
## Configuration
This plugin depends on the **Redmine QuickBooks Online** plugin.
Before using this plugin:
1. Install and configure the parent plugin.
2. Ensure your **QuickBooks Online** company file is connected.
3. Verify that the products or services referenced in line items exist in QuickBooks.
---
## Usage ## Usage
1. **Configure:** Ensure the parent QuickBooks Online plugin is connected to your company file. 1. **Configure:** Ensure the parent QuickBooks Online plugin is connected to your company file.
2. **Add Items:** On the Issue page, use the new "Line Items" section to add billable products or services.
3. **Generate Estimate:** When the work is complete, change the issue status to a "Closed" state. The plugin will trigger the creation of a new Estimate in QuickBooks Online. 2. **Add Items:** On the issue page, use the new **Line Items** section to add billable products or services.
3. **Generate Estimate:** When the work is complete, change the issue status to a state marked as **closed** in Redmine. The plugin will then trigger the creation of a new estimate in **QuickBooks Online**.
---
## License ## License
> The MIT License (MIT) > The MIT License (MIT)
> >
> Copyright (c) 2016 - 2026 Rick Barrette > Copyright (c) 2016 - 2026 Rick Barrette
> >
> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: > Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
> >
> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. > The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
> >
> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.