mirror of
https://github.com/rickbarrette/redmine_qbo_lineitems.git
synced 2026-04-02 07:01:59 -04:00
updated readme
This commit is contained in:
115
README.md
115
README.md
@@ -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.
|
||||||
Reference in New Issue
Block a user