Skip to content

code-and-effect/effective_qb_sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Bonus points for test coverage
  6. Create new Pull Request

About

Synchronize EffectiveOrders with QuickBooks Web Connector

Resources

License

Stars

Watchers

Forks

Packages

No packages published