Jump to content
Sign in to follow this  
VyReN

QuickBooks Contrib

Recommended Posts

They are but thank you! I've hard coded the path but I'm sure if I should include the filename in the path or just the directory.

Share this post


Link to post
Share on other sites
The IIF from my store does not have the "ACCT" headers that are the first several lines of the sample IIF file (as viewed in Excel) - could this be the problem?

 

What else might cause this to fail?

 

Store - MS2, quite a few modifications

QB - Premier 2004 edition

I am having the EXACT same issue....any suggestions?

Share this post


Link to post
Share on other sites

I haven't had enough time to play with it, but the problem seems to be around the line with the order number. If you solve it, please let me know!


Chris Dunning

osCommerce, Contributions Moderator Team

 

Please do not send me PM! I do not read or answer these often. Use the email button instead!

 

I do NOT support contributions other than my own. Emails asking for support on other people's contributions will be ignored. Ask in the forum or contact the contribution author directly.

Share this post


Link to post
Share on other sites

The IIF from my store does not have the "ACCT" headers that are the first several lines of the sample IIF file (as viewed in Excel) - could this be the problem?

 

What else might cause this to fail?

 

Store - MS2, quite a few modifications

QB - Premier 2004 edition

I am having the EXACT same issue....any suggestions?

i have the same problem too........any help? :blink:

Share this post


Link to post
Share on other sites

I am really interested in installing this contribution. Quickbooks import would save a lot of time.

 

However, since we want to make sure that the orders have the correct items (they would need to be matched up with the Item numbers in quickbooks, not the descriptions), we probably only want to import the customer information. I know that this defeats a large portion of the purpose of this contribution, but for now, if we can't get it to do exactly what we want, we would want to at least have partial use of this contribution. Just importing the customer information would save a lot of time! We could then manually put in the products ordered.

 

Anyway, to get to the point - is there a way to get this contribution to put only the customer information into the IIF file? I have looked at the contribution and I can't quite tell.

 

Any help would be much appreciated!! Thanks!

Share this post


Link to post
Share on other sites

why bother, why not put the product model #'s into the store then you have all the info you need? more of a waste of time to program it just get the customer info.


John Oligario

 

Knowledge Base Contributions

Share this post


Link to post
Share on other sites

I just installed this contribution in to a store, and because I was going to have to install it to a seperate store, I created a revised set of documentation instructions to help my second install. The store is very heavily modified, so I have skipped the changes to admin at this time.

 

----------------------------------------------------------

Quickbooks IIF Import with Tax Option.

 

 

Files changed in this contribution:

catalog/includes/application_top.php

catalog/checkout_process.php

catalog/includes/classes/shopping_cart.php

Files added in this contribution:

catalog/includes/qb_iif_sale.php

Databases changed in this contribution:

Products

Databases added in this contribution:

None

Directories added in this contribution"

catalog/qb_sale

 

 

QBIF update steps

 

 

1. Run datbase update sql.

2. Change/verify Quickbooks export file location in qb_iif_sale.php.

3. Upload qb_iif_sale.php to catalog/includes.

4. Create directory catalog/qb_sale and set rights and ownership.

5. Edit catalog/includes/application_top.php

 

Add

 

// QBIIF insert start----------------------------------

// No need to set both to '1', just use one or the other

// Use 1 if you want a ONLY new customer setup in QB when TEP account created

// Use 0 if you do not need this.

define('CREATE_CUSTOMER_QB_IIF_FILE', 0);

 

// Use 1 if you want an BOTH customer and invoice setup in QB when TEP sale made

// Use 0 if you do not need this.

define('CREATE_SALE_QB_IIF_FILE', 1);

 

// Use 1 if your TEP default currency is different from your QB currency

// Use 0 if they are the same. You would also need to specify the exchange

// rate to use for the QB invoice. For example, my OSC uses CAD as the default

// currency but QB is in CAD, so we need to turn 'convert' on

define('CONVERT_QB_CURRENCY', 0);

define('EXCHANGE_RATE', 1.50051);

// QBIIF insert end----------------------------------

 

 

after

 

 

// define the project version

define('PROJECT_VERSION', 'osCommerce 2.2-MS2');

 

 

6. Upload application_top.php to catalog/includes/.

7. Edit catalog/checkout_process.php

 

Add

 

// QBIIF insert start----------------------------------

// Quick Books

if (CREATE_SALE_QB_IIF_FILE) {include(DIR_WS_INCLUDES . 'qb_iif_sale.php');}

// QBIIF insert end----------------------------------

 

 

After

 

 

// send emails to other people

if (SEND_EXTRA_ORDER_EMAILS_TO != '') {

tep_mail('', SEND_EXTRA_ORDER_EMAILS_TO, EMAIL_TEXT_SUBJECT, $email_order, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);

}

 

 

8. Upload checkout_process.php to catalog/.

9. Edit catalog/includes/classes/shopping_cart.php function get_products()

 

Replace

 

$products_query = tep_db_query("select p.products_id, pd.products_name, p.products_model, p.products_image, p.products_price, p.products_weight, p.products_tax_class_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id = '" . (int)$products_id . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");

 

With

 

// QBIIF replace start----------------------------------

$products_query = tep_db_query("select p.products_id, pd.products_name, p.products_model, p.products_image, p.products_price, p.products_weight, products_qb_sales_class, products_qb_sales_account, p.products_tax_class_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id = '" . (int)$products_id . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");

// QBIIF replace end----------------------------------

 

Replace

 

$products_array[] = array('id' => $products_id,

'name' => $products['products_name'],

'model' => $products['products_model'],

'image' => $products['products_image'],

'price' => $products_price,

'quantity' => $this->contents[$products_id]['qty'],

'weight' => $products['products_weight'],

'final_price' => ($products_price + $this->attributes_price($products_id)),

'tax_class_id' => $products['products_tax_class_id'],

'attributes' => (isset($this->contents[$products_id]['attributes']) ? $this->contents[$products_id]['attributes'] : ''));

 

With

 

// QBIIF replace start----------------------------------

$products_array[] = array('id' => $products_id,

'name' => $products['products_name'],

'model' => $products['products_model'],

'image' => $products['products_image'],

'price' => $products_price,

'quantity' => $this->contents[$products_id]['qty'],

'weight' => $products['products_weight'],

'class' => $products['products_qb_sales_class'],

'accnt' => $products['products_qb_sales_account'],

'final_price' => ($products_price + $this->attributes_price($products_id)),

'tax_class_id' => $products['products_tax_class_id'],

'attributes' => (isset($this->contents[$products_id]['attributes']) ? $this->contents[$products_id]['attributes'] : ''));

// QBIIF replace end----------------------------------

 

10. Upload shopping_cart.php to catalog/includes/classes/.

 

 

################################################################################

################

The edits below are only needed if you use more than one Order Class in Quickbooks for your websales

################################################################################

################

 

11. Edit admin/categories.php.

 

still working on this.....

----------------------------------------------------------

Share this post


Link to post
Share on other sites

Thanks John-K for working on updating the documentation, which is sorely needed!

 

There's still a number of outstanding bugs in the contribution:

It doesn't work with products that are group items in Quickbooks

It doesn't work with sales tax that is a group item (see work-around next to "$taxname" variable)

The country name does not import

If the shipping and billing addresses are different, it sometimes doesn't use the correct one. (I forget what isn't right, but you can have a primary address, billing address, and shipping address in oSc and I think it is importing the primary address instead of the shipping address - usually they are the same, but not always).

The "low order fee" doesn't get imported.

If you have products with attributes (colors, sizes, etc), it doesn't indicate this nor does it adjust the price (the base price gets imported).

 

I've been really busy and haven't had time to work on fixing these issues -- if anyone else does go for it!

 

What I'd ultimately like to do is pull the information from the MySQL database, as I think that's the best solution and gives more options.

 

As far as credit card number import, I don't plan now on developing this part. The iif file format doesn't allow for credit card number import (there's no fields), so you'd have to do that with the Excel import feature of Quickbooks which does support it. But actually the credit card account built into Quickbooks isn't supposed to be used for Internet sales, and I think using a gateway like Authorize.Net is a better solution. You'd still want to import your orders into Quickbooks but the credit card information wouldn't be needed.

 

Thanks,

Adam

Share this post


Link to post
Share on other sites

I just updated my Paypal IPN from v1.7 to v2.4. The Paypal IPN v2.4 is a completely different from v1.7. Consequently, I'm having a hard time knowing where to place the Quickbooks mod statement

 

// Quick Books
if (CREATE_SALE_QB_IIF_FILE) {include(DIR_WS_INCLUDES . 'qb_iif_sale.php');}

Previously, that portion of code came directly after

$customer_notification = (SEND_EMAILS == 'true') ? '1' : '0';
$sql_data_array = array('orders_id' => $insert_id, 
                       'orders_status_id' => '99999', 
                       'date_added' => 'now()', 
                       'customer_notified' => $customer_notification,
                       'comments' => $order->info['comments']);
tep_db_perform(TABLE_ORDERS_STATUS_HISTORY, $sql_data_array);

in the file catalog/ipn.php. Now, with Paypal v2.4, the lines above can't be found.

 

Does anyone else know about this?

Share this post


Link to post
Share on other sites

Paypal IPN v2.x & Quickbooks IIF Import Compatibility

 

I recently upgraded my Paypal IPN contrib from v1.7 to v2.4. When the creator of the Paypal contrib made v2.0, a complete restructuring was done to that module. As a result, the current version of the Quickbooks IIF Import Contribution is no longer compatible with Paypal IPNs v2.0 and higher. The reason for this has to do with how the Paypal IPN operates.

 

Currently, the QB mod operates by pulling data from the shopping cart near the end of the transaction process. The qb_iif_sale.php file is invoked from checkout_process.php. At that time, the shopping cart is still active, so it works great.

 

The Paypal contrib has always had a different checkout procedure from the standard osCommerce checkout procedure. With pre-2.0 Paypal IPN versions, the line for invoking qb_iif_sale.php was placed in the file ipn.php (see this post). This still worked fine, as the cart was still active during the order.

 

Now, however, with v2.0+, the checkout process for paypal payments is restructured such that the appropriate place for qb_iif_sale.php to be invoked (for paypal payment orders) is from a Paypal-specific file named checkout_update.php, which is located at includes/modules/payment/paypal/checkout_update.php. The file checkout_update.php is invoked when Paypal sends an Instant Payment Notification (IPN) back to the osCommerce website. Here's the problem, though: At the point when checkout_update.php is called, the cart is no longer active. Therefore, qb_iif_sale.php, which is called from checkout_update.php, attempts to access data from the cart, which is no loner active. This results in a problem for importing Quickbooks transaction data for Paypal orders.

 

A suggestion was made two posts up by Adam that the Quickbooks contribution should be changed so that it pulls the data from the SQL database, instead of from the cart. This would be a great move for this contribution

 

I'd be willing to help in this effort to draw the data from the database instead of the cart. I'm a coder, but am very new to osCommerce and php, so I'd need some help. If anyone else would like to talk about this, please let me know.

 

Having the Quickbooks import functionality in our store is crucial to our automation process, as we print purchase orders from QB to fax off to our vendors who drop ship for us.

 

I look forward to hearing from anyone on this issue...

Share this post


Link to post
Share on other sites

Superman,

 

I too had this problem. Make sure none of your items have quotes in the description or model number fields.

Share this post


Link to post
Share on other sites

James,

 

The main reason that QuickBooks crashes is because the import file contains some sort of typos. Open the file in excel or a simple text pad and read it. Try to find multiple word entries which suppose to be one word or wierd characters like '"`~ etc. Mine used to crash until I changed some default settings like "Your Name" or "Your Class Name" etc.

 

I hope it helps.

 

Ron Peled

Share this post


Link to post
Share on other sites

Assuming that works. how do i prevent it from doing it again in the future. so that whenever i get ordres i don' thave to edit the file everytime.

 

also do ! marks count as wierd? cuz i have some of those like "!INVITEM"

Edited by superman123

Share this post


Link to post
Share on other sites

I got the file to import however when i check on quickbooks and go thru the customer jobs. only the Customer and Customer INfo appears. The purchases he made doesnt not appear on the invoice at all. Item Code/Description/Price . is blank.

 

Also is the Order number supposed to import also?

Share this post


Link to post
Share on other sites

Is there a loaded shop that already included this quickbooks contribution. I was looking for somehting liek this 2 years ago and gave up. I am so happy that it is finally a reality. The only problem is that i have an old OSC with the old checkout. I need to upgrade to use this and wanted to get a store that was already filled with the most popular contribs. Thanks Guys and Great work on the Quickbooks mod.

Share this post


Link to post
Share on other sites

Just installed and can't get a 'qb_sales.iif' file to be created.

I tried making a variable for the root directory to get the proper path.

 

this board is cutting my posts in half....

Edited by SleeperWRX

Share this post


Link to post
Share on other sites

still can't get a file created

 

I gave the 'qb_sale' directory 777 permissions.

 

i'm using osCommerce ms-2. My applications_top.php is in osCommerce/includes/ rather than osCommerce/ which conflicts with the quickbooks contrib install instructions, but I'm guessing that's not an issue.

 

here's my code in an image since the board is cutting it off if it's typed in:

myCode.gif

 

Any suggestions?

 

thanks,

-Mike

Edited by SleeperWRX

Share this post


Link to post
Share on other sites
What happens when you type the URL into a browser (preferably not the one OSC is on)?  ie. http://www.mygreatstore.com/includes/qb_iif_sales.php

 

Do you see anything or get any error messages?

Access forbidden!

 

You don't have permission to access the requested object. It is either read-protected or not readable by the server.

If you think this is a server error, please contact the webmaster

 

Error 403

 

--------------------

mine is named qb_iif_sale.php not qb_iif_sales.php

it came that way. i dunno if that's an issue?

Edited by SleeperWRX

Share this post


Link to post
Share on other sites

Mine is my root path...something like this:

 

'/home/httpd/vhosts/mydomain.com/httpdocs'

 

Did you try your path instead?

Share this post


Link to post
Share on other sites

that worked! thanks a ton.

 

i'm having another problem now though. the file gets created but the owner and group are 'apache'. I don't have access to that account or group so I can't download the file, view it, or anything. :P

 

Is there a way to change the output file's owner?

Share this post


Link to post
Share on other sites

You should be using the same path that you used in your configure.php files for your root document.

 

Check those files and use that path.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×