%h2.effective-qb-sync-page-title= @page_title %h3 1. Create a Quickbooks user for sync %p The Quickbooks web connector requires a user be created for synchronization. %ul %li Open the Quickbooks Pro company file that will be synchronized with the website %li Click Company -> Set up Users and Passwords -> Set Up Users... - if EffectiveQbSync.quickbooks_username.present? && EffectiveQbSync.quickbooks_password.present? %li Add a Quickbooks user with username: %strong= Array(EffectiveQbSync.quickbooks_username).join(' or ').html_safe and password: %strong= Array(EffectiveQbSync.quickbooks_password).join(' or ').html_safe - elsif EffectiveQbSync.quickbooks_username.blank? && EffectiveQbSync.quickbooks_password.present? %li Add a Quickbooks user any username, and password: %strong= Array(EffectiveQbSync.quickbooks_password).join(' or ').html_safe - else %li (developer) Add a quickbooks_username and quickbooks_password to the config/initializers/effective_qb_sync.rb file %ul %li Add a Quickbooks user with that same username and password %li Access for user: "Selected areas of Quickbooks" %li Sales and Accounts Receivable "Selective Access - Create transactions only" %li Purchases and Accounts Payable "No Access" %li Chequing and Credit Cards "No Access" %li Time Tracking "No Access" %li Payroll and Employees "No Access" %li Sales Tax "No Access" %li Sensitive Accounting Activities "No Access" %li Sensitive Financial Reporting "No Access" %li Changing or Deleting Transactions "Yes" and "No" %li Finished %h3 2. Create all Quickbooks items %p Each acts_as_purchasable object on the website has a qb_item_name that must match an existing Quickbooks Item. %br The website's price will override any Quickbooks default item prices. %p Make sure a Quickbooks Item exists for each of the following: = render partial: '/admin/qb_syncs/qb_item_names' %p To add an Item in Quickbooks: %ul %li Click the menu bar Lists -> Item List %li In the bottom left, Item -> New %li Make sure the "Item Name/Number" matches with above. %h3 3. Configure the Quickbooks Sales Tax Behaviour %p Quickbooks sales tax can be configured in one of two ways: %ul %li Sales tax should be added by Quickbooks %ul %li Click Edit -> Preferences -> Sales Tax -> Company Preferences %li Do you charge sales tax? Yes %li Add sales tax item... %li Set the config/initializers/effective_qb_sync.rb "quickbooks_tax_name" to an empty string %li When synchronizing, the website will not add in the tax amount %li Quickbooks will consider the order subtotal and add the appropriate tax amount %li Sales tax should be added by the website %ul %li Click Edit -> Preferences -> Sales Tax -> Company Preferences %li Do you charge sales tax? No %li Add a regular Quickbooks Item (as per 2. Create all Quickbooks items instructions, above) %li - if EffectiveQbSync.quickbooks_tax_name.present? Ensure that the Item Name in Quickbooks is %strong #{EffectiveQbSync.quickbooks_tax_name} - else (developer) Add a quickbooks_tax_name to the config/initializers/effective_qb_sync.rb file %li The website will add an additional line item with the tax amount. %p Currently, the website is configured such that: %strong - if EffectiveQbSync.quickbooks_tax_name.present? Sales tax should be added by the website - else Sales tax should be added by Quickbooks %h3 4. Configure the Quickbooks Web Connector %p Now that the Quickbooks company file has been configured, it is time to set up the Quickbooks Web Connector program. %ul %li Download the #{link_to 'quickbooks web connector .qwc file', (effective_qb_sync.qwc_admin_qb_syncs_path), target: '_blank'} and put it somewhere safe %li Open the Quickbooks Web Connector program from the Start menu %ul %li Click Add an application %li Select the .qwc file just downloaded %li Click OK to add the new web service %li Select any of the 'Yes' options (Yes, always; allow access even if Quickbooks is not running is prefered) and Continue... %li Done %li If the .qwc file doesn't add properly, you can edit the .qwc file with wordpad, and check the following: %ul %li The AppID must be unique between all other .qwc files %li The AppURL must be an %strong https:// url that ends with %strong= effective_qb_sync.qb_sync_path such as %strong https://mysite.com#{effective_qb_sync.qb_sync_path} %li The AppSupport url doesn't matter %li The UserName must be present and match an existing user %li The OwnerID and FileID values must also be unique between all other .qwc files %li Enter the password as above and Save it %h3 5. Start the Synchronization %p Everything is ready to go. Good luck with the first synchronization! %ul %li Open the Quickbooks Web Connector %li Check the far left checkbox next to the new application %li Click Update Selected to do the sync %li (optional) or enable Auto-Run %li If any synchronization errors occur, %strong= EffectiveQbSync.error_email || EffectiveOrders.mailer_admin will receive an email with instructions on how to fix the error %h3 6. Troubleshooting %p Don't actually use this, but click below to skip all unsynced orders. %ul %li This action will create a finished QbTicket containing all orders. %li All orders will be considered already synced, and will not be sent to QuickBooks again. %li You might need a developer's help to undo this. - unsynced = Effective::QbRequest.new_requests_for_unsynced_items.length %li= link_to "Mark all #{unsynced} unsynced orders as already synchronized", effective_qb_sync.set_all_orders_finished_admin_qb_syncs_path, 'data-method': :post, 'data-confirm': 'Are you sure?'