Effective Quickbooks Sync
Synchronize effective_orders with Quickbooks Web Connector. This is an unofficial integration that is not supported or affiliated with Intuit in any way.
Getting Started
Make sure effective_orders is installed.
Ensure all your acts_as_purchasable
objects respond to qb_item_name
.
Add to your Gemfile:
gem 'effective_qb_sync'
Run the bundle command to install it:
bundle install
Then run the generator:
rails generate effective_qb_sync:install
The generator will install an initializer which describes all configuration options and creates a database migration.
If you want to tweak the table name (to use something other than the default 'qb_requests', 'qb_tickets', 'qb_logs' and 'qb_order_items'), manually adjust both the configuration file and the migration now.
Then migrate the database:
rake db:migrate
Admin Screen
To use the Admin screen, please also install the effective_datatables gem:
gem 'effective_datatables'
Then visit:
link_to 'Quickbooks', effective_qb_sync.admin_qb_syncs_path # /admin/qb_syncs
Permissions
The Quickbooks synchronization controller does not require a logged in user, or any other rails permissions.
The sync itself checks that the Quickbooks user performing the sync has a username/password that matches the values in the config/initializers/effective_qb_sync.rb file.
For the admin screen, a logged in user is required (devise) and the user should be able to (CanCan):
can :admin, :effective_qb_sync
can :manage, Effective::QbTicket
Devise is a required dependency, but CanCan is not. Please see the authorization_method in the initializer.
Setting up Quickbooks
Once the gem is installed, visit the /admin/qb_syncs/instructions page for setup instructions.
Rake Tasks
Overwrite quickbooks item names
When an order is purchased, the qb_item_name()
of each acts_as_purchasable
object is saved to the database.
If you change the output of acts_as_purchasable
.qb_item_name
, any existing quickbooks item names will remain unchanged.
Run this script to overwrite all saved quickbooks item names with the current acts_as_purchasable
.qb_item_name
.
rake effective_qb_sync:overwrite_qb_item_names
License
MIT License. Copyright Code and Effect Inc.
Testing
Run tests by:
rspec
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Bonus points for test coverage
- Create new Pull Request