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 installThen run the generator:
rails generate effective_qb_sync:installThe 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:migrateAdmin 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_syncsPermissions
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::QbTicketDevise 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_namesLicense
MIT License. Copyright Code and Effect Inc.
Testing
Run tests by:
rspecContributing
- 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