Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

QuickBooks Contrib


VyReN

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.

Link to comment
Share on other sites

  • Replies 285
  • Created
  • Last Reply

Top Posters In This Topic

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?

Link to comment
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.

Link to comment
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:

Link to comment
Share on other sites

  • 2 weeks later...

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!

Link to comment
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.

Link to comment
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.....

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

Link to comment
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

Link to comment
Share on other sites

  • 3 weeks later...

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?

Link to comment
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...

Link to comment
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

Link to comment
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
Link to comment
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?

Link to comment
Share on other sites

  • 2 weeks later...

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.

Link to comment
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
Link to comment
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
Link to comment
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?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...