Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

invoice and VAT rules thats legal for European Uni


helohelo

Recommended Posts

Hi

Happy to know that many people are using my contribution...

Hope it will be usefull.

 

For having the shop intracom. VAT number in the invoice, don't forget to do the changes in the file as explained in the install.txt file, especially:

 

==================

In admin/Invoice.php

 

Replace (around line 54):

<td class="main"><?php echo

tep_address_format($order->customer['format_id'], $order->customer, 1, '',

'<br>'); ?></td>

 

By:

<!--BOF for VAT INTRACOM_v3.3 //-->

<td class="main"><?php echo

tep_address_format($order->billing['format_id'], $order->billing, 1, '',

'<br>'); ?></td>

<!-- EOF for TVA_INTRACOM_v3.3 //-->

 

Regards.

Jean Luc,

do you know a way to put the COSTUMERS VAT on his invoice? I found out more people wants to do it and I did not found they answer yet. :blink: Although its not legal necassery...its good for a costumer to see its given VAT number, also to record the VAT number of the costumer with his invoice.

Keesjan

Link to comment
Share on other sites

  • Replies 238
  • Created
  • Last Reply

yes i know,

its yust that I want to record, also to the client what VAT number I have yust to calculate there tax that i want to put it on the invoice.

 

I have the VAt on the print invoice, not on the email invoice...how to also put it there?

 

furtermore:

 

Only thing to solve with VAT is right now in invoice:

 

calculate all prices in Vat shop price and if in EU also in Euros

 

 

In invoice its now:

 

Sub-Total: $1.00

EU VAT tax 19%: $0.19

Total: $1.19

 

In My case in dollars and Euro's

 

 

Sub-Total: $100.00 Euro xxx,xx

VAT (19%): $ 19.00 Euro xxx,xx

Total: $119.00 Euro xxx,xx

 

and I want to include the VAT number of the client.

 

Anyone?

Keesjan

Link to comment
Share on other sites

Jean Luc,

do you know a way to put the COSTUMERS VAT on his invoice? I found out more people wants to do it and I did not found they answer yet.  :blink:  Although its not legal necassery...its good for a costumer to see its given VAT number, also to record the VAT number of the costumer with his invoice.

The VAT number is yet recorded with the apropriate order. This is why we can see the VAT number of the customer (the one he indicates when he ordered) in each invoice (in admin->customers->orders).

 

To have this VAT number in the email send for order's confirmation, in catalog/checkout_process, after for ex this (line 226):

$email_order = STORE_NAME . "\n" .

add this

'Customer's VAT number : ' . $order->billing['tva_intracom'] . "\n" .

or if you want the VAT number of your store:

ENTRY_TVA_INTRACOM . ' ' . TVA_SHOP_INTRACOM . "\n" .

 

Regards...

JeanLuc

OsC: MS2

Link to comment
Share on other sites

really dumb question where is the STORE_NAME defined I have looked i the default english file and the order_process language file and its not there... I'll look in the admin language files :( the biggest problem with oscommerce is the size of it ;)

 

It can be alike a maze at times although, amazing :)

Andrew

Link to comment
Share on other sites

really dumb question where is the STORE_NAME defined I have looked i the default english file and the order_process language file and its not there... I'll look in the admin language files :( the biggest problem with oscommerce is the size of it ;)

 

It can be alike a maze at times although, amazing :)

Andrew

The STORE_NAME is stocked in the database (You can search it for a while before find it with Dreamweaver... :D )

Find it in admin->Configuration->My Store->Name of the store

 

Regards :)

JeanLuc

OsC: MS2

Link to comment
Share on other sites

  • 4 weeks later...

Hallo...

I?m from German, Sorry for my english.

 

I have the v4 inserted and again control. If I enter for example DE228861723 as VAT and as country Germany am registered, then I always get

After checking, your intracom. VAT is not correct or does not correspond to the entered country. Leave it blank if you don't know it.
as error message.

If I call manually

http://www.europa.eu.int/comm/taxation_cus...R&VAT=228861723, then the VAT is correct.

 

For which is , r); in the code??

$monfd = file_get_contents('http://www.europa.eu.int/comm/taxation_customs/vies/cgi-bin/viesquer?MS=' . $prefix . '&Lang=FR&VAT=' . $tva, r);

 

Either the inquiry is not europa.eu.int conveyed korekt on, or the answer is not evaluated correctly. Or, the comparison between Germany in the Shop and the VAT is not correct. Can someone help me thereby please?

I searched already all day long, but I cannot find the error.

 

Thanks bill

My English is unfortunately bad. Excused ask.

Link to comment
Share on other sites

r is for "read only"

Try to ad quotes around 'r':

$monfd = file_get_contents('http://www.europa.eu.int/comm/taxation_customs/vies/cgi-bin/viesquer?MS=' . $prefix . '&Lang=FR&VAT=' . $tva, 'r');

 

Anyway, for the new version 4, in your php.ini file, be sure 'allow_url_fopen' is enabled.

JeanLuc

OsC: MS2

Link to comment
Share on other sites

Hi...

The 'allow_url_fopen' is enabled. Lock at the Screenshot..

screenshot.jpg

 

I have try quotes around 'r', and nothig.

But, it is the same problem. Still any other idea?

 

bill

My English is unfortunately bad. Excused ask.

Link to comment
Share on other sites

For a test, in catalog/includes/functions/validations.php, can you add just after:

$monfd = file_get_contents('http://www.europa.eu.int/comm/taxation_customs/vies/cgi-bin/viesquer?MS=' . $prefix . '&Lang=FR&VAT=' . $tva, r);

this:

echo $monfd;

This will display the result in the page where you submit the VAT number (for exempla in account_edit.php...

You must have the europa.eu.int response displayed and especially "TVA valide" or "TVA non valide" somewhere in the page (in french because we ask in french language).

JeanLuc

OsC: MS2

Link to comment
Share on other sites

Another idea:

Did you try to insert this VAT number in other pages than in create_account.php, for example in account_edit or in the admin, when you edit a customer...

Is there the same pb?

JeanLuc

OsC: MS2

Link to comment
Share on other sites

Hi...

I have add

echo $monfd;

after

$monfd = file_get_contents('http://www.europa.eu.int/comm/taxation_customs/vies/cgi-bin/viesquer?MS=' . $prefix . '&Lang=FR&VAT=' . $tva, r);

and it Display nothing.

The Language is ok, i have it not change.

 

The error is in create_account.php, customers.php in the admin.

I do not understand that. Somewhere an error must be there, but I made and again controlled it exact after readme.

 

bill

My English is unfortunately bad. Excused ask.

Link to comment
Share on other sites

I must correct myself. The error is only in the Admin. The other one goes. Sorry, head draw in.

 

bill

So you certainly have a mistake in your changes in admin/customers.php; Check this file if the changes are all OK with the install.txt file.

 

Regards

 

PS: remove "echo $monfd;" in the validations.php file (it was just for test...)

JeanLuc

OsC: MS2

Link to comment
Share on other sites

Hi...

 

I do not have an error in customers.php. I took even a clean file now and made the changes 2x. It is always the same error. There an error must to be in install.txt. Here times my customers.php.

<?php

/*

 $Id: customers.php,v 1.82 2003/06/30 13:54:14 dgw_ Exp $

 

 osCommerce, Open Source E-Commerce Solutions

 http://www.oscommerce.com

 

 Copyright (c) 2003 osCommerce

 

 Released under the GNU General Public License

*/

 

 require('includes/application_top.php');

 

 $action = (isset($HTTP_GET_VARS['action']) ? $HTTP_GET_VARS['action'] : '');

 

 $error = false;

 $processed = false;

 

 if (tep_not_null($action)) {

   switch ($action) {

     case 'update':

       $customers_id = tep_db_prepare_input($HTTP_GET_VARS['cID']);

       $customers_firstname = tep_db_prepare_input($HTTP_POST_VARS['customers_firstname']);

       $customers_lastname = tep_db_prepare_input($HTTP_POST_VARS['customers_lastname']);

       $customers_email_address = tep_db_prepare_input($HTTP_POST_VARS['customers_email_address']);

       $customers_telephone = tep_db_prepare_input($HTTP_POST_VARS['customers_telephone']);

       $customers_fax = tep_db_prepare_input($HTTP_POST_VARS['customers_fax']);

       $customers_newsletter = tep_db_prepare_input($HTTP_POST_VARS['customers_newsletter']);

 

       $customers_gender = tep_db_prepare_input($HTTP_POST_VARS['customers_gender']);

       $customers_dob = tep_db_prepare_input($HTTP_POST_VARS['customers_dob']);

 

       $default_address_id = tep_db_prepare_input($HTTP_POST_VARS['default_address_id']);

       $entry_street_address = tep_db_prepare_input($HTTP_POST_VARS['entry_street_address']);

       $entry_suburb = tep_db_prepare_input($HTTP_POST_VARS['entry_suburb']);

       $entry_postcode = tep_db_prepare_input($HTTP_POST_VARS['entry_postcode']);

       $entry_city = tep_db_prepare_input($HTTP_POST_VARS['entry_city']);

       $entry_country_id = tep_db_prepare_input($HTTP_POST_VARS['entry_country_id']);

 

       $entry_company = tep_db_prepare_input($HTTP_POST_VARS['entry_company']);

       // Add for VAT intracom

 $entry_tva_intracom = tep_db_prepare_input($HTTP_POST_VARS['entry_tva_intracom']);

 // fin ajout

 

       $entry_state = tep_db_prepare_input($HTTP_POST_VARS['entry_state']);

       if (isset($HTTP_POST_VARS['entry_zone_id'])) $entry_zone_id = tep_db_prepare_input($HTTP_POST_VARS['entry_zone_id']);

 

       if (strlen($customers_firstname) < ENTRY_FIRST_NAME_MIN_LENGTH) {

         $error = true;

         $entry_firstname_error = true;

       } else {

         $entry_firstname_error = false;

       }

 

       if (strlen($customers_lastname) < ENTRY_LAST_NAME_MIN_LENGTH) {

         $error = true;

         $entry_lastname_error = true;

       } else {

         $entry_lastname_error = false;

       }

 

       if (ACCOUNT_DOB == 'true') {

         if (checkdate(substr(tep_date_raw($customers_dob), 4, 2), substr(tep_date_raw($customers_dob), 6, 2), substr(tep_date_raw($customers_dob), 0, 4))) {

           $entry_date_of_birth_error = false;

         } else {

           $error = true;

           $entry_date_of_birth_error = true;

         }

       }

 

       if (strlen($customers_email_address) < ENTRY_EMAIL_ADDRESS_MIN_LENGTH) {

         $error = true;

         $entry_email_address_error = true;

       } else {

         $entry_email_address_error = false;

       }

 

       //BOF for VAT INTRACOM_v3.3

if (ACCOUNT_COMPANY == 'true') {

  if ( (strlen($entry_company) != 0) && (strlen($entry_company) < ENTRY_COMPANY_MIN_LENGTH) ) {

    $error = true;

    $entry_company_error = true;

  } else {

    $entry_company_error = false;

  }

  if ( ENTRY_TVA_INTRACOM_CHECK == 'true') {

    if (strlen($entry_tva_intracom) != 0) {

      // Begin update for TVA_INTRACOM_v3.9

      if ($entry_country_id != false) {

 $country_code_query = tep_db_query("select countries_iso_code_2 from " . TABLE_COUNTRIES . " where countries_id = '" . (int)$entry_country_id . "'");

 $country_code_value = tep_db_fetch_array($country_code_query);

 $countries_array = array('countries_iso_code_2' => $country_code_value['countries_iso_code_2']);

 if ( (array_search($countries_array['countries_iso_code_2'], array_keys(tep_get_tva_intracom_array())) === false) || ($countries_array['countries_iso_code_2'] != substr(strtoupper(trim($entry_tva_intracom)),0,2)) ) {

  $error = true;

  $entry_tva_intracom_error = 'true';

 } else {

  $entry_tva_intracom_error = 'false';

 }

      }

      // End update for TVA_INTRACOM_v3.9

      $result_tva = tep_verif_tva(strtoupper(rtrim($tva_intracom)));

      if ($result_tva == 'false') {

        $error = true;

 $entry_tva_intracom_error = 'true';

      } elseif ($result_tva == 'no_verif') {

        $error = true;

 $entry_tva_intracom_error = 'no_verif';

      } else {

 $entry_tva_intracom_error = 'false';

      }

    }

  } else {

    if ( (strlen($entry_tva_intracom) != 0) && (strlen($entry_tva_intracom) < ENTRY_TVA_INTRACOM_MIN_LENGTH) ) {

      $error = true;

      $entry_tva_intracom_error = 'true';

    } else {

      $entry_tva_intracom_error = 'false';

    }

  }

}

// EOF for VAT INTRACOM v3.3

 

 

 

       if (!tep_validate_email($customers_email_address)) {

         $error = true;

         $entry_email_address_check_error = true;

       } else {

         $entry_email_address_check_error = false;

       }

 

       if (strlen($entry_street_address) < ENTRY_STREET_ADDRESS_MIN_LENGTH) {

         $error = true;

         $entry_street_address_error = true;

       } else {

         $entry_street_address_error = false;

       }

 

       if (strlen($entry_postcode) < ENTRY_POSTCODE_MIN_LENGTH) {

         $error = true;

         $entry_post_code_error = true;

       } else {

         $entry_post_code_error = false;

       }

 

       if (strlen($entry_city) < ENTRY_CITY_MIN_LENGTH) {

         $error = true;

         $entry_city_error = true;

       } else {

         $entry_city_error = false;

       }

 

       if ($entry_country_id == false) {

         $error = true;

         $entry_country_error = true;

       } else {

         $entry_country_error = false;

       }

 

       if (ACCOUNT_STATE == 'true') {

         if ($entry_country_error == true) {

           $entry_state_error = true;

         } else {

           $zone_id = 0;

           $entry_state_error = false;

           $check_query = tep_db_query("select count(*) as total from " . TABLE_ZONES . " where zone_country_id = '" . (int)$entry_country_id . "'");

           $check_value = tep_db_fetch_array($check_query);

           $entry_state_has_zones = ($check_value['total'] > 0);

           if ($entry_state_has_zones == true) {

             $zone_query = tep_db_query("select zone_id from " . TABLE_ZONES . " where zone_country_id = '" . (int)$entry_country_id . "' and zone_name = '" . tep_db_input($entry_state) . "'");

             if (tep_db_num_rows($zone_query) == 1) {

               $zone_values = tep_db_fetch_array($zone_query);

               $entry_zone_id = $zone_values['zone_id'];

             } else {

               $error = true;

               $entry_state_error = true;

             }

           } else {

             if ($entry_state == false) {

               $error = true;

               $entry_state_error = true;

             }

           }

        }

     }

 

     if (strlen($customers_telephone) < ENTRY_TELEPHONE_MIN_LENGTH) {

       $error = true;

       $entry_telephone_error = true;

     } else {

       $entry_telephone_error = false;

     }

 

     $check_email = tep_db_query("select customers_email_address from " . TABLE_CUSTOMERS . " where customers_email_address = '" . tep_db_input($customers_email_address) . "' and customers_id != '" . (int)$customers_id . "'");

     if (tep_db_num_rows($check_email)) {

       $error = true;

       $entry_email_address_exists = true;

     } else {

       $entry_email_address_exists = false;

     }

 

     if ($error == false) {

 

       $sql_data_array = array('customers_firstname' => $customers_firstname,

                               'customers_lastname' => $customers_lastname,

                               'customers_email_address' => $customers_email_address,

                               'customers_telephone' => $customers_telephone,

                               'customers_fax' => $customers_fax,

                               'customers_newsletter' => $customers_newsletter);

 

       if (ACCOUNT_GENDER == 'true') $sql_data_array['customers_gender'] = $customers_gender;

       if (ACCOUNT_DOB == 'true') $sql_data_array['customers_dob'] = tep_date_raw($customers_dob);

 

       tep_db_perform(TABLE_CUSTOMERS, $sql_data_array, 'update', "customers_id = '" . (int)$customers_id . "'");

 

       tep_db_query("update " . TABLE_CUSTOMERS_INFO . " set customers_info_date_account_last_modified = now() where customers_info_id = '" . (int)$customers_id . "'");

 

       if ($entry_zone_id > 0) $entry_state = '';

 

       $sql_data_array = array('entry_firstname' => $customers_firstname,

                               'entry_lastname' => $customers_lastname,

                               'entry_street_address' => $entry_street_address,

                               'entry_postcode' => $entry_postcode,

                               'entry_city' => $entry_city,

                               'entry_country_id' => $entry_country_id);

 

       if (ACCOUNT_COMPANY == 'true') $sql_data_array['entry_company'] = $entry_company;

       // BOF pour TVA_INTRACOM_v3.3

 if (ACCOUNT_COMPANY == 'true') $sql_data_array['entry_tva_intracom'] = $entry_tva_intracom;

// EOF BOF for VAT INTRACOM_v3.3

       if (ACCOUNT_SUBURB == 'true') $sql_data_array['entry_suburb'] = $entry_suburb;

 

       if (ACCOUNT_STATE == 'true') {

         if ($entry_zone_id > 0) {

           $sql_data_array['entry_zone_id'] = $entry_zone_id;

           $sql_data_array['entry_state'] = '';

         } else {

           $sql_data_array['entry_zone_id'] = '0';

           $sql_data_array['entry_state'] = $entry_state;

         }

       }

 

       tep_db_perform(TABLE_ADDRESS_BOOK, $sql_data_array, 'update', "customers_id = '" . (int)$customers_id . "' and address_book_id = '" . (int)$default_address_id . "'");

 

       tep_redirect(tep_href_link(FILENAME_CUSTOMERS, tep_get_all_get_params(array('cID', 'action')) . 'cID=' . $customers_id));

 

       } else if ($error == true) {

         $cInfo = new objectInfo($HTTP_POST_VARS);

         $processed = true;

       }

 

       break;

     case 'deleteconfirm':

       $customers_id = tep_db_prepare_input($HTTP_GET_VARS['cID']);

 

       if (isset($HTTP_POST_VARS['delete_reviews']) && ($HTTP_POST_VARS['delete_reviews'] == 'on')) {

         $reviews_query = tep_db_query("select reviews_id from " . TABLE_REVIEWS . " where customers_id = '" . (int)$customers_id . "'");

         while ($reviews = tep_db_fetch_array($reviews_query)) {

           tep_db_query("delete from " . TABLE_REVIEWS_DESCRIPTION . " where reviews_id = '" . (int)$reviews['reviews_id'] . "'");

         }

 

         tep_db_query("delete from " . TABLE_REVIEWS . " where customers_id = '" . (int)$customers_id . "'");

       } else {

         tep_db_query("update " . TABLE_REVIEWS . " set customers_id = null where customers_id = '" . (int)$customers_id . "'");

       }

 

       tep_db_query("delete from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . (int)$customers_id . "'");

       tep_db_query("delete from " . TABLE_CUSTOMERS . " where customers_id = '" . (int)$customers_id . "'");

       tep_db_query("delete from " . TABLE_CUSTOMERS_INFO . " where customers_info_id = '" . (int)$customers_id . "'");

       tep_db_query("delete from " . TABLE_CUSTOMERS_BASKET . " where customers_id = '" . (int)$customers_id . "'");

       tep_db_query("delete from " . TABLE_CUSTOMERS_BASKET_ATTRIBUTES . " where customers_id = '" . (int)$customers_id . "'");

       tep_db_query("delete from " . TABLE_WHOS_ONLINE . " where customer_id = '" . (int)$customers_id . "'");

 

       tep_redirect(tep_href_link(FILENAME_CUSTOMERS, tep_get_all_get_params(array('cID', 'action'))));

       break;

     default:

       $customers_query = tep_db_query("select c.customers_id, c.customers_gender, c.customers_firstname, c.customers_lastname, c.customers_dob, c.customers_email_address, a.entry_company, a.entry_tva_intracom, a.entry_street_address, a.entry_suburb, a.entry_postcode, a.entry_city, a.entry_state, a.entry_zone_id, a.entry_country_id, c.customers_telephone, c.customers_fax, c.customers_newsletter, c.customers_default_address_id from " . TABLE_CUSTOMERS . " c left join " . TABLE_ADDRESS_BOOK . " a on c.customers_default_address_id = a.address_book_id where a.customers_id = c.customers_id and c.customers_id = '" . (int)$HTTP_GET_VARS['cID'] . "'");

       $customers = tep_db_fetch_array($customers_query);

       $cInfo = new objectInfo($customers);

   }

 }

?>

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">

<html <?php echo HTML_PARAMS; ?>>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">

<title><?php echo TITLE; ?></title>

<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">

<script language="javascript" src="includes/general.js"></script>

<?php

 if ($action == 'edit' || $action == 'update') {

?>

<script language="javascript"><!--

 

function check_form() {

 var error = 0;

 var error_message = "<?php echo JS_ERROR; ?>";

 

 var customers_firstname = document.customers.customers_firstname.value;

 var customers_lastname = document.customers.customers_lastname.value;

<?php if (ACCOUNT_COMPANY == 'true') echo 'var entry_company = document.customers.entry_company.value;' . "\n"; ?>

<!-- BOF Add for VAT INTRACOM_v3.3 //-->

<?php if (ACCOUNT_COMPANY == 'true') echo 'var entry_tva_intracom = document.customers.entry_tva_intracom.value;' . "\n"; ?>

<!-- EOF for TVA_INTRACOM_v3.3 //-->

<?php if (ACCOUNT_DOB == 'true') echo 'var customers_dob = document.customers.customers_dob.value;' . "\n"; ?>

 var customers_email_address = document.customers.customers_email_address.value;

 var entry_street_address = document.customers.entry_street_address.value;

 var entry_postcode = document.customers.entry_postcode.value;

 var entry_city = document.customers.entry_city.value;

 var customers_telephone = document.customers.customers_telephone.value;

 

<?php if (ACCOUNT_GENDER == 'true') { ?>

 if (document.customers.customers_gender[0].checked || document.customers.customers_gender[1].checked) {

 } else {

   error_message = error_message + "<?php echo JS_GENDER; ?>";

   error = 1;

 }

<?php } ?>

 

 if (customers_firstname == "" || customers_firstname.length < <?php echo ENTRY_FIRST_NAME_MIN_LENGTH; ?>) {

   error_message = error_message + "<?php echo JS_FIRST_NAME; ?>";

   error = 1;

 }

 

 if (customers_lastname == "" || customers_lastname.length < <?php echo ENTRY_LAST_NAME_MIN_LENGTH; ?>) {

   error_message = error_message + "<?php echo JS_LAST_NAME; ?>";

   error = 1;

 }

 

<?php if (ACCOUNT_DOB == 'true') { ?>

 if (customers_dob == "" || customers_dob.length < <?php echo ENTRY_DOB_MIN_LENGTH; ?>) {

   error_message = error_message + "<?php echo JS_DOB; ?>";

   error = 1;

 }

<?php } ?>

 

 if (customers_email_address == "" || customers_email_address.length < <?php echo ENTRY_EMAIL_ADDRESS_MIN_LENGTH; ?>) {

   error_message = error_message + "<?php echo JS_EMAIL_ADDRESS; ?>";

   error = 1;

 }

<!--BOF for VAT INTRACOM_v3.3 //-->

<?php if (ACCOUNT_COMPANY == 'true') { ?>

if (entry_company != "" && entry_company.length < <?php echo ENTRY_COMPANY_MIN_LENGTH; ?>) {

   error_message = error_message + "<?php echo JS_COMPANY; ?>";

    error = 1;

  }

 if (entry_tva_intracom != "" && entry_tva_intracom.length < <?php echo ENTRY_TVA_INTRACOM_MIN_LENGTH; ?>) {

    error_message = error_message + "<?php echo JS_TVA_INTRACOM; ?>";

    error = 1;

  }

<?php } ?>

<!-- EOF for TVA_INTRACOM_v3.3 //-->

 

 if (entry_street_address == "" || entry_street_address.length < <?php echo ENTRY_STREET_ADDRESS_MIN_LENGTH; ?>) {

   error_message = error_message + "<?php echo JS_ADDRESS; ?>";

   error = 1;

 }

 

 if (entry_postcode == "" || entry_postcode.length < <?php echo ENTRY_POSTCODE_MIN_LENGTH; ?>) {

   error_message = error_message + "<?php echo JS_POST_CODE; ?>";

   error = 1;

 }

 

 if (entry_city == "" || entry_city.length < <?php echo ENTRY_CITY_MIN_LENGTH; ?>) {

   error_message = error_message + "<?php echo JS_CITY; ?>";

   error = 1;

 }

 

<?php

 if (ACCOUNT_STATE == 'true') {

?>

 if (document.customers.elements['entry_state'].type != "hidden") {

   if (document.customers.entry_state.value == '' || document.customers.entry_state.value.length < <?php echo ENTRY_STATE_MIN_LENGTH; ?> ) {

      error_message = error_message + "<?php echo JS_STATE; ?>";

      error = 1;

   }

 }

<?php

 }

?>

 

 if (document.customers.elements['entry_country_id'].type != "hidden") {

   if (document.customers.entry_country_id.value == 0) {

     error_message = error_message + "<?php echo JS_COUNTRY; ?>";

     error = 1;

   }

 }

 

 if (customers_telephone == "" || customers_telephone.length < <?php echo ENTRY_TELEPHONE_MIN_LENGTH; ?>) {

   error_message = error_message + "<?php echo JS_TELEPHONE; ?>";

   error = 1;

 }

 

 if (error == 1) {

   alert(error_message);

   return false;

 } else {

   return true;

 }

}

//--></script>

<?php

 }

?>

</head>

<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF" onload="SetFocus();">

<!-- header //-->

<?php require(DIR_WS_INCLUDES . 'header.php'); ?>

<!-- header_eof //-->

 

<!-- body //-->

<table border="0" width="100%" cellspacing="2" cellpadding="2">

 <tr>

   <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">

<!-- left_navigation //-->

<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>

<!-- left_navigation_eof //-->

   </table></td>

<!-- body_text //-->

   <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">

<?php

 if ($action == 'edit' || $action == 'update') {

   $newsletter_array = array(array('id' => '1', 'text' => ENTRY_NEWSLETTER_YES),

                             array('id' => '0', 'text' => ENTRY_NEWSLETTER_NO));

?>

     <tr>

       <td><table border="0" width="100%" cellspacing="0" cellpadding="0">

         <tr>

           <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>

           <td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>

         </tr>

       </table></td>

     </tr>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

     </tr>

     <tr><?php echo tep_draw_form('customers', FILENAME_CUSTOMERS, tep_get_all_get_params(array('action')) . 'action=update', 'post', 'onSubmit="return check_form();"') . tep_draw_hidden_field('default_address_id', $cInfo->customers_default_address_id); ?>

       <td class="formAreaTitle"><?php echo CATEGORY_PERSONAL; ?></td>

     </tr>

     <tr>

       <td class="formArea"><table border="0" cellspacing="2" cellpadding="2">

<?php

   if (ACCOUNT_GENDER == 'true') {

?>

         <tr>

           <td class="main"><?php echo ENTRY_GENDER; ?></td>

           <td class="main">

<?php

   if ($error == true) {

     if ($entry_gender_error == true) {

       echo tep_draw_radio_field('customers_gender', 'm', false, $cInfo->customers_gender) . '  ' . MALE . '  ' . tep_draw_radio_field('customers_gender', 'f', false, $cInfo->customers_gender) . '  ' . FEMALE . ' ' . ENTRY_GENDER_ERROR;

     } else {

       echo ($cInfo->customers_gender == 'm') ? MALE : FEMALE;

       echo tep_draw_hidden_field('customers_gender');

     }

   } else {

     echo tep_draw_radio_field('customers_gender', 'm', false, $cInfo->customers_gender) . '  ' . MALE . '  ' . tep_draw_radio_field('customers_gender', 'f', false, $cInfo->customers_gender) . '  ' . FEMALE;

   }

?></td>

         </tr>

<?php

   }

?>

         <tr>

           <td class="main"><?php echo ENTRY_FIRST_NAME; ?></td>

           <td class="main">

<?php

 if ($error == true) {

   if ($entry_firstname_error == true) {

     echo tep_draw_input_field('customers_firstname', $cInfo->customers_firstname, 'maxlength="32"') . ' ' . ENTRY_FIRST_NAME_ERROR;

   } else {

     echo $cInfo->customers_firstname . tep_draw_hidden_field('customers_firstname');

   }

 } else {

   echo tep_draw_input_field('customers_firstname', $cInfo->customers_firstname, 'maxlength="32"', true);

 }

?></td>

         </tr>

         <tr>

           <td class="main"><?php echo ENTRY_LAST_NAME; ?></td>

           <td class="main">

<?php

 if ($error == true) {

   if ($entry_lastname_error == true) {

     echo tep_draw_input_field('customers_lastname', $cInfo->customers_lastname, 'maxlength="32"') . ' ' . ENTRY_LAST_NAME_ERROR;

   } else {

     echo $cInfo->customers_lastname . tep_draw_hidden_field('customers_lastname');

   }

 } else {

   echo tep_draw_input_field('customers_lastname', $cInfo->customers_lastname, 'maxlength="32"', true);

 }

?></td>

         </tr>

<?php

   if (ACCOUNT_DOB == 'true') {

?>

         <tr>

           <td class="main"><?php echo ENTRY_DATE_OF_BIRTH; ?></td>

           <td class="main">

 

<?php

   if ($error == true) {

     if ($entry_date_of_birth_error == true) {

       echo tep_draw_input_field('customers_dob', tep_date_short($cInfo->customers_dob), 'maxlength="10"') . ' ' . ENTRY_DATE_OF_BIRTH_ERROR;

     } else {

       echo $cInfo->customers_dob . tep_draw_hidden_field('customers_dob');

     }

   } else {

     echo tep_draw_input_field('customers_dob', tep_date_short($cInfo->customers_dob), 'maxlength="10"', true);

   }

?></td>

         </tr>

<?php

   }

?>

         <tr>

           <td class="main"><?php echo ENTRY_EMAIL_ADDRESS; ?></td>

           <td class="main">

<?php

 if ($error == true) {

   if ($entry_email_address_error == true) {

     echo tep_draw_input_field('customers_email_address', $cInfo->customers_email_address, 'maxlength="96"') . ' ' . ENTRY_EMAIL_ADDRESS_ERROR;

   } elseif ($entry_email_address_check_error == true) {

     echo tep_draw_input_field('customers_email_address', $cInfo->customers_email_address, 'maxlength="96"') . ' ' . ENTRY_EMAIL_ADDRESS_CHECK_ERROR;

   } elseif ($entry_email_address_exists == true) {

     echo tep_draw_input_field('customers_email_address', $cInfo->customers_email_address, 'maxlength="96"') . ' ' . ENTRY_EMAIL_ADDRESS_ERROR_EXISTS;

   } else {

     echo $customers_email_address . tep_draw_hidden_field('customers_email_address');

   }

 } else {

   echo tep_draw_input_field('customers_email_address', $cInfo->customers_email_address, 'maxlength="96"', true);

 }

?></td>

         </tr>

       </table></td>

     </tr>

<?php

   if (ACCOUNT_COMPANY == 'true') {

?>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

     </tr>

     <tr>

       <td class="formAreaTitle"><?php echo CATEGORY_COMPANY; ?></td>

     </tr>

     <tr>

       <td class="formArea"><table border="0" cellspacing="2" cellpadding="2">

         <tr>

           <td class="main"><?php echo ENTRY_COMPANY; ?></td>

           <td class="main">

<?php

   if ($error == true) {

     if ($entry_company_error == true) {

       echo tep_draw_input_field('entry_company', $cInfo->entry_company, 'maxlength="32"') . ' ' . ENTRY_COMPANY_ERROR;

     } else {

       echo $cInfo->entry_company . tep_draw_hidden_field('entry_company');

     }

   } else {

     echo tep_draw_input_field('entry_company', $cInfo->entry_company, 'maxlength="32"');

   }

?></td>

         </tr>

<!--BOF for VAT INTRACOM_v3.3 //-->

         <tr>

           <td class="main" valign="top"><?php echo ENTRY_TVA_INTRACOM; ?></td>

           <td class="main">

<?php

 if ( ENTRY_TVA_INTRACOM_CHECK == 'true') {

  if ($error == true) {

   if ($entry_tva_intracom_error == 'true') {

    echo tep_draw_input_field('entry_tva_intracom', $cInfo->entry_tva_intracom, 'maxlength="32"') . ' ' . ENTRY_CONTROL_TVA_INTRACOM;

   }

   if ($entry_tva_intracom_error == 'no_verif') {

    echo tep_draw_input_field('entry_tva_intracom', '', 'maxlength="32"') . ' ' . ENTRY_NO_VERIF_TVA_INTRACOM;

   }

   if ($entry_tva_intracom_error == 'false') {

    echo $cInfo->entry_tva_intracom . tep_draw_hidden_field('entry_tva_intracom');

   }

  } else {

   echo tep_draw_input_field('entry_tva_intracom', $cInfo->entry_tva_intracom, 'maxlength="32"');

  }

 } else {

  if ($error == true) {

   if ($entry_tva_intracom_error == 'true') {

    echo tep_draw_input_field('entry_tva_intracom', $cInfo->entry_tva_intracom, 'maxlength="32"') . ' ' . ENTRY_TVA_INTRACOM_ERROR;

   } else {

    echo $cInfo->entry_tva_intracom . tep_draw_hidden_field('entry_tva_intracom');

   }

  } else {

                               echo tep_draw_input_field('entry_tva_intracom', $cInfo->entry_tva_intracom, 'maxlength="32"');

                       }

 

 }

?>     </td>

         </tr>

<!-- EOF for TVA_INTRACOM_v3.3 //-->

 

       </table></td>

     </tr>

<?php

   }

?>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

     </tr>

     <tr>

       <td class="formAreaTitle"><?php echo CATEGORY_ADDRESS; ?></td>

     </tr>

     <tr>

       <td class="formArea"><table border="0" cellspacing="2" cellpadding="2">

         <tr>

           <td class="main"><?php echo ENTRY_STREET_ADDRESS; ?></td>

           <td class="main">

<?php

 if ($error == true) {

   if ($entry_street_address_error == true) {

     echo tep_draw_input_field('entry_street_address', $cInfo->entry_street_address, 'maxlength="64"') . ' ' . ENTRY_STREET_ADDRESS_ERROR;

   } else {

     echo $cInfo->entry_street_address . tep_draw_hidden_field('entry_street_address');

   }

 } else {

   echo tep_draw_input_field('entry_street_address', $cInfo->entry_street_address, 'maxlength="64"', true);

 }

?></td>

         </tr>

<?php

   if (ACCOUNT_SUBURB == 'true') {

?>

         <tr>

           <td class="main"><?php echo ENTRY_SUBURB; ?></td>

           <td class="main">

<?php

   if ($error == true) {

     if ($entry_suburb_error == true) {

       echo tep_draw_input_field('suburb', $cInfo->entry_suburb, 'maxlength="32"') . ' ' . ENTRY_SUBURB_ERROR;

     } else {

       echo $cInfo->entry_suburb . tep_draw_hidden_field('entry_suburb');

     }

   } else {

     echo tep_draw_input_field('entry_suburb', $cInfo->entry_suburb, 'maxlength="32"');

   }

?></td>

         </tr>

<?php

   }

?>

         <tr>

           <td class="main"><?php echo ENTRY_POST_CODE; ?></td>

           <td class="main">

<?php

 if ($error == true) {

   if ($entry_post_code_error == true) {

     echo tep_draw_input_field('entry_postcode', $cInfo->entry_postcode, 'maxlength="8"') . ' ' . ENTRY_POST_CODE_ERROR;

   } else {

     echo $cInfo->entry_postcode . tep_draw_hidden_field('entry_postcode');

   }

 } else {

   echo tep_draw_input_field('entry_postcode', $cInfo->entry_postcode, 'maxlength="8"', true);

 }

?></td>

         </tr>

         <tr>

           <td class="main"><?php echo ENTRY_CITY; ?></td>

           <td class="main">

<?php

 if ($error == true) {

   if ($entry_city_error == true) {

     echo tep_draw_input_field('entry_city', $cInfo->entry_city, 'maxlength="32"') . ' ' . ENTRY_CITY_ERROR;

   } else {

     echo $cInfo->entry_city . tep_draw_hidden_field('entry_city');

   }

 } else {

   echo tep_draw_input_field('entry_city', $cInfo->entry_city, 'maxlength="32"', true);

 }

?></td>

         </tr>

<?php

   if (ACCOUNT_STATE == 'true') {

?>

         <tr>

           <td class="main"><?php echo ENTRY_STATE; ?></td>

           <td class="main">

<?php

   $entry_state = tep_get_zone_name($cInfo->entry_country_id, $cInfo->entry_zone_id, $cInfo->entry_state);

   if ($error == true) {

     if ($entry_state_error == true) {

       if ($entry_state_has_zones == true) {

         $zones_array = array();

         $zones_query = tep_db_query("select zone_name from " . TABLE_ZONES . " where zone_country_id = '" . tep_db_input($cInfo->entry_country_id) . "' order by zone_name");

         while ($zones_values = tep_db_fetch_array($zones_query)) {

           $zones_array[] = array('id' => $zones_values['zone_name'], 'text' => $zones_values['zone_name']);

         }

         echo tep_draw_pull_down_menu('entry_state', $zones_array) . ' ' . ENTRY_STATE_ERROR;

       } else {

         echo tep_draw_input_field('entry_state', tep_get_zone_name($cInfo->entry_country_id, $cInfo->entry_zone_id, $cInfo->entry_state)) . ' ' . ENTRY_STATE_ERROR;

       }

     } else {

       echo $entry_state . tep_draw_hidden_field('entry_zone_id') . tep_draw_hidden_field('entry_state');

     }

   } else {

     echo tep_draw_input_field('entry_state', tep_get_zone_name($cInfo->entry_country_id, $cInfo->entry_zone_id, $cInfo->entry_state));

   }

 

?></td>

        </tr>

<?php

   }

?>

         <tr>

           <td class="main"><?php echo ENTRY_COUNTRY; ?></td>

           <td class="main">

<?php

 if ($error == true) {

   if ($entry_country_error == true) {

     echo tep_draw_pull_down_menu('entry_country_id', tep_get_countries(), $cInfo->entry_country_id) . ' ' . ENTRY_COUNTRY_ERROR;

   } else {

     echo tep_get_country_name($cInfo->entry_country_id) . tep_draw_hidden_field('entry_country_id');

   }

 } else {

   echo tep_draw_pull_down_menu('entry_country_id', tep_get_countries(), $cInfo->entry_country_id);

 }

?></td>

         </tr>

       </table></td>

     </tr>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

     </tr>

     <tr>

       <td class="formAreaTitle"><?php echo CATEGORY_CONTACT; ?></td>

     </tr>

     <tr>

       <td class="formArea"><table border="0" cellspacing="2" cellpadding="2">

         <tr>

           <td class="main"><?php echo ENTRY_TELEPHONE_NUMBER; ?></td>

           <td class="main">

<?php

 if ($error == true) {

   if ($entry_telephone_error == true) {

     echo tep_draw_input_field('customers_telephone', $cInfo->customers_telephone, 'maxlength="32"') . ' ' . ENTRY_TELEPHONE_NUMBER_ERROR;

   } else {

     echo $cInfo->customers_telephone . tep_draw_hidden_field('customers_telephone');

   }

 } else {

   echo tep_draw_input_field('customers_telephone', $cInfo->customers_telephone, 'maxlength="32"', true);

 }

?></td>

         </tr>

         <tr>

           <td class="main"><?php echo ENTRY_FAX_NUMBER; ?></td>

           <td class="main">

<?php

 if ($processed == true) {

   echo $cInfo->customers_fax . tep_draw_hidden_field('customers_fax');

 } else {

   echo tep_draw_input_field('customers_fax', $cInfo->customers_fax, 'maxlength="32"');

 }

?></td>

         </tr>

       </table></td>

     </tr>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

     </tr>

     <tr>

       <td class="formAreaTitle"><?php echo CATEGORY_OPTIONS; ?></td>

     </tr>

     <tr>

       <td class="formArea"><table border="0" cellspacing="2" cellpadding="2">

         <tr>

           <td class="main"><?php echo ENTRY_NEWSLETTER; ?></td>

           <td class="main">

<?php

 if ($processed == true) {

   if ($cInfo->customers_newsletter == '1') {

     echo ENTRY_NEWSLETTER_YES;

   } else {

     echo ENTRY_NEWSLETTER_NO;

   }

   echo tep_draw_hidden_field('customers_newsletter');

 } else {

   echo tep_draw_pull_down_menu('customers_newsletter', $newsletter_array, (($cInfo->customers_newsletter == '1') ? '1' : '0'));

 }

?></td>

         </tr>

       </table></td>

     </tr>

     <tr>

       <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>

     </tr>

     <tr>

       <td align="right" class="main"><?php echo tep_image_submit('button_update.gif', IMAGE_UPDATE) . ' <a href="' . tep_href_link(FILENAME_CUSTOMERS, tep_get_all_get_params(array('action'))) .'">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'; ?></td>

     </tr></form>

<?php

 } else {

?>

     <tr>

       <td><table border="0" width="100%" cellspacing="0" cellpadding="0">

         <tr><?php echo tep_draw_form('search', FILENAME_CUSTOMERS, '', 'get'); ?>

           <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>

           <td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', 1, HEADING_IMAGE_HEIGHT); ?></td>

           <td class="smallText" align="right"><?php echo HEADING_TITLE_SEARCH . ' ' . tep_draw_input_field('search'); ?></td>

         </form></tr>

       </table></td>

     </tr>

     <tr>

       <td><table border="0" width="100%" cellspacing="0" cellpadding="0">

         <tr>

           <td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">

             <tr class="dataTableHeadingRow">

               <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_LASTNAME; ?></td>

               <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_FIRSTNAME; ?></td>

               <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACCOUNT_CREATED; ?></td>

               <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?> </td>

             </tr>

<?php

   $search = '';

   if (isset($HTTP_GET_VARS['search']) && tep_not_null($HTTP_GET_VARS['search'])) {

     $keywords = tep_db_input(tep_db_prepare_input($HTTP_GET_VARS['search']));

     $search = "where c.customers_lastname like '%" . $keywords . "%' or c.customers_firstname like '%" . $keywords . "%' or c.customers_email_address like '%" . $keywords . "%'";

   }

   $customers_query_raw = "select c.customers_id, c.customers_lastname, c.customers_firstname, c.customers_email_address, a.entry_country_id from " . TABLE_CUSTOMERS . " c left join " . TABLE_ADDRESS_BOOK . " a on c.customers_id = a.customers_id and c.customers_default_address_id = a.address_book_id " . $search . " order by c.customers_lastname, c.customers_firstname";

   $customers_split = new splitPageResults($HTTP_GET_VARS['page'], MAX_DISPLAY_SEARCH_RESULTS, $customers_query_raw, $customers_query_numrows);

   $customers_query = tep_db_query($customers_query_raw);

   while ($customers = tep_db_fetch_array($customers_query)) {

     $info_query = tep_db_query("select customers_info_date_account_created as date_account_created, customers_info_date_account_last_modified as date_account_last_modified, customers_info_date_of_last_logon as date_last_logon, customers_info_number_of_logons as number_of_logons from " . TABLE_CUSTOMERS_INFO . " where customers_info_id = '" . $customers['customers_id'] . "'");

     $info = tep_db_fetch_array($info_query);

 

     if ((!isset($HTTP_GET_VARS['cID']) || (isset($HTTP_GET_VARS['cID']) && ($HTTP_GET_VARS['cID'] == $customers['customers_id']))) && !isset($cInfo)) {

       $country_query = tep_db_query("select countries_name from " . TABLE_COUNTRIES . " where countries_id = '" . (int)$customers['entry_country_id'] . "'");

       $country = tep_db_fetch_array($country_query);

 

       $reviews_query = tep_db_query("select count(*) as number_of_reviews from " . TABLE_REVIEWS . " where customers_id = '" . (int)$customers['customers_id'] . "'");

       $reviews = tep_db_fetch_array($reviews_query);

 

       $customer_info = array_merge($country, $info, $reviews);

 

       $cInfo_array = array_merge($customers, $customer_info);

       $cInfo = new objectInfo($cInfo_array);

     }

 

     if (isset($cInfo) && is_object($cInfo) && ($customers['customers_id'] == $cInfo->customers_id)) {

       echo '          <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_CUSTOMERS, tep_get_all_get_params(array('cID', 'action')) . 'cID=' . $cInfo->customers_id . '&action=edit') . '\'">' . "\n";

     } else {

       echo '          <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_CUSTOMERS, tep_get_all_get_params(array('cID')) . 'cID=' . $customers['customers_id']) . '\'">' . "\n";

     }

?>

            &

My English is unfortunately bad. Excused ask.

Link to comment
Share on other sites

Think I found the mistake in the customers.php file:

In the version 4 package, the changes made in the 3.9 version had not completely been done in this file;

 

For those who downloaded the version 4 of the contribution, in catalog/admin/customers.php, find (around line 102) those lines:

if ($result_tva == 'false') {
 $error = true;
 $entry_tva_intracom_error = 'true';    
} elseif ($result_tva == 'no_verif') {
 $error = true;
 $entry_tva_intracom_error = 'no_verif';
} else {
 $entry_tva_intracom_error = 'false';
}

and replace them by those:

if ($result_tva == 'false') {
 $error = true;
 $entry_tva_intracom_error = 'true';    
} elseif ($result_tva == 'no_verif') {
 $error = true;
 $entry_tva_intracom_error = 'no_verif';
} else {
 //$entry_tva_intracom_error = 'false';
 // Begin update for TVA_INTRACOM_v3.9
 if ($entry_tva_intracom_error != 'true') {
   $entry_tva_intracom_error = 'false';
 }
 // End update for TVA_INTRACOM_v3.9
}

 

Sorry for this mistake, I'm doing the update in the download section....

JeanLuc

OsC: MS2

Link to comment
Share on other sites

Hi Jean Luc I have just read this update are these changes aplicable to everyone using your cool mod?

 

I hadn't noticed any errors?

 

Andrew

 

PS one comment I had from a friend giving my site a test was that the 2 letters before the vat number isn't very clear, maybe we could integrate the 2 digits for each country so they are forced to be selected and this would also get rid of the very big pink error message :)

Link to comment
Share on other sites

Hi Jean Luc  I have just read this update are these changes aplicable to everyone using your cool mod?

 

I hadn't noticed any errors?

 

Andrew

 

PS one comment I had from a friend giving my site a test was that the 2 letters before the vat number isn't very clear, maybe we could integrate the 2 digits for each country so they are forced to be selected and this would also get rid of the very big pink error message :)

If you don't have any error when you change the VAT number in admin/customers.php, it's because you already have the modified code in the file.

Those updates was made in version 3.9 for validating if the first two letters of the VAT number corresponds to the customer's country.

 

For your PS point, may be you can improve the intelligibility modifying the text near the VAT field in catalog/includes/languages/english.php:

define('ENTRY_TVA_INTRACOM_TEXT', 'Only if you put a Company Name which is located in EEC');

 

Replace it by for exemple:

define('ENTRY_TVA_INTRACOM_TEXT', 'Only if you put a Company Name located in EEC (2 letters + VAT n?)');

 

JLuc

JeanLuc

OsC: MS2

Link to comment
Share on other sites

Hello JeanLuc,

 

in your instructions you mention:

 

======================================================

For those who want taxes automatically if the conditions below are OK:

the billing company field is not NULL

AND

the billing tva_intracom field is not NULL

AND

the billing country is different than the STORE_COUNTRY

AND

the delivery country is different than the STORE_COUNTRY

 

You can pick up the following files: catalog/includes/classes/order.php and catalog/includes/modules/order_total/ot_shipping.php on the forum of osCommerce.com and replace yours.

have a look here: http://www.oscommerce.com/forums/index.php?showtopic=76315

======================================================

 

However, I can't find these files in this thread. I have looked through all pages.

 

I have the following problem. A customer who did NOT enter a company name and did NOT enter a VAT-ID is NOT being charged vat. But! he should be. Is this an issue or have I done something wrong?

 

regards

tina

Link to comment
Share on other sites

I figured out in the mean time it has to do with the fact that I have virtual products which dont need a shipping address ... any way to solve this without reactivating the shipping adress?

Link to comment
Share on other sites

I figured out in the mean time it has to do with the fact that I have virtual products which dont need a shipping address ... any way to solve this without reactivating the shipping adress?

hi,

somwhere in this trhread JeanLuc has mentioned how to set the billing adress and not the shipping adres as adress that counts for the country to apply the vat too. Yust look thu this tread...succes

Keesjan

Link to comment
Share on other sites

hi helohelo,

 

thanks, in fact you commented on that too

http://www.oscommerce.com/forums/index.php?sho...ic=76315&st=70#

 

However, I have tried all variations of that without sucess. Either I am getting VAT on everything regardless of VATID or I am getting no VAT at all.

 

What I did to remove the shipping address was this:

 

in checkout_shipping.php changed this

 

 ?if ($order->content_type == 'virtual') {
? ?if (!tep_session_is_registered('shipping')) tep_session_register('shipping');
? ?$shipping = false;
? ?$sendto = false;
? ?tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));
}

 

to this:

 

//if ($order->content_type == 'virtual') {
? ?if (!tep_session_is_registered('shipping')) tep_session_register('shipping');
? ?$shipping = false;
? ?$sendto = false;
? ?tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));
//}

 

This makes all my products virtual. Thus the user is being redirected immediately to the checkout payment page. However, changing the query to use the billing_adress just didn't work out. There must be more to it. :(

 

tina

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...