diff --git a/htdocs/admin/taxes.php b/htdocs/admin/taxes.php index 5e276d5b972..0374e3c8e42 100644 --- a/htdocs/admin/taxes.php +++ b/htdocs/admin/taxes.php @@ -72,35 +72,38 @@ if ($action == 'update') { switch ($tax_mode) { case 0: - $value = 'payment'; + $valuesellproduct = 'invoice'; + $valuebuyproduct = 'invoice'; + $valuesellservice = 'payment'; + $valuebuyservice = 'payment'; break; case 1: - $value = 'invoice'; + $valuesellproduct = 'invoice'; + $valuebuyproduct = 'invoice'; + $valuesellservice = 'invoice'; + $valuebuyservice = 'invoice'; + break; + case 2: + $valuesellproduct = 'payment'; + $valuebuyproduct = 'payment'; + $valuesellservice = 'payment'; + $valuebuyservice = 'payment'; break; } - $res = dolibarr_set_const($db, 'TAX_MODE_SELL_PRODUCT', 'invoice','chaine',0,'',$conf->entity); + $res = dolibarr_set_const($db, 'TAX_MODE_SELL_PRODUCT', $valuesellproduct,'chaine',0,'',$conf->entity); if (! $res > 0) $error++; - $res = dolibarr_set_const($db, 'TAX_MODE_BUY_PRODUCT', 'invoice','chaine',0,'',$conf->entity); + $res = dolibarr_set_const($db, 'TAX_MODE_BUY_PRODUCT', $valuebuyproduct,'chaine',0,'',$conf->entity); if (! $res > 0) $error++; - $res = dolibarr_set_const($db, 'TAX_MODE_SELL_SERVICE', $value,'chaine',0,'',$conf->entity); + $res = dolibarr_set_const($db, 'TAX_MODE_SELL_SERVICE', $valuesellservice, 'chaine',0,'',$conf->entity); if (! $res > 0) $error++; - $res = dolibarr_set_const($db, 'TAX_MODE_BUY_SERVICE', $value,'chaine',0,'',$conf->entity); + $res = dolibarr_set_const($db, 'TAX_MODE_BUY_SERVICE', $valuebuyservice, 'chaine',0,'',$conf->entity); if (! $res > 0) $error++; dolibarr_set_const($db, "MAIN_INFO_TVAINTRA", GETPOST("tva",'alpha'),'chaine',0,'',$conf->entity); dolibarr_set_const($db, "MAIN_INFO_VAT_RETURN", GETPOST("MAIN_INFO_VAT_RETURN",'alpha'),'chaine',0,'',$conf->entity); - // Others options - foreach ($list as $constname) { - $constvalue = GETPOST($constname, 'alpha'); - - if (!dolibarr_set_const($db, $constname, $constvalue, 'chaine', 0, '', $conf->entity)) { - $error++; - } - } - if (! $error) { $db->commit(); setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); @@ -153,10 +156,11 @@ else else { print '
| '.$langs->trans("Buy").' | '.$langs->trans("Sell").' | |
| '.$langs->trans("Buy").' | '.$langs->trans("Sell").' | |
| '.$langs->trans("Product").' | '; print ''; - print $langs->trans("OnDelivery"); - print ' ('.$langs->trans("SupposedToBeInvoiceDate").')'; + if ($conf->global->TAX_MODE_BUY_PRODUCT == 'payment') + { + print $langs->trans("OnPayment"); + print ' ('.$langs->trans("SupposedToBePaymentDate").')'; + } + else + { + print $langs->trans("OnDelivery"); + print ' ('.$langs->trans("SupposedToBeInvoiceDate").')'; + } print ' | '; print ''; - print $langs->trans("OnDelivery"); - print ' ('.$langs->trans("SupposedToBeInvoiceDate").')'; + if ($conf->global->TAX_MODE_SELL_PRODUCT == 'payment') + { + print $langs->trans("OnPayment"); + print ' ('.$langs->trans("SupposedToBePaymentDate").')'; + } + else + { + print $langs->trans("OnDelivery"); + print ' ('.$langs->trans("SupposedToBeInvoiceDate").')'; + } print ' |
| '.$langs->trans("Services").' | '; print ''; - if ($tax_mode == 0) + if ($conf->global->TAX_MODE_BUY_SERVICE == 'payment') { print $langs->trans("OnPayment"); print ' ('.$langs->trans("SupposedToBePaymentDate").')'; } - if ($tax_mode == 1) + else { print $langs->trans("OnInvoice"); print ' ('.$langs->trans("InvoiceDateUsed").')'; } print ' | '; print '';
- if ($tax_mode == 0)
+ if ($conf->global->TAX_MODE_SELL_SERVICE == 'payment')
{
print $langs->trans("OnPayment");
print ' ('.$langs->trans("SupposedToBePaymentDate").')';
}
- if ($tax_mode == 1)
+ else
{
print $langs->trans("OnInvoice");
print ' ('.$langs->trans("InvoiceDateUsed").')';
diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang
index ac3e27a7166..be46a1e15c8 100644
--- a/htdocs/langs/en_US/admin.lang
+++ b/htdocs/langs/en_US/admin.lang
@@ -1546,10 +1546,12 @@ FailedToInitializeMenu=Failed to initialize menu
##### Tax #####
TaxSetup=Taxes, social or fiscal taxes and dividends module setup
OptionVatMode=VAT due
-OptionVATDefault=Cash basis
+OptionVATDefault=Standard basis
OptionVATDebitOption=Accrual basis
OptionVatDefaultDesc=VAT is due: - on delivery for goods (we use invoice date) - on payments for services OptionVatDebitOptionDesc=VAT is due: - on delivery for goods (we use invoice date) - on invoice (debit) for services +OptionPaymentForProductAndServices=Cash basis for products and services +OptionPaymentForProductAndServicesDesc=VAT is due: - on payment for goods - on payments for services SummaryOfVatExigibilityUsedByDefault=Time of VAT exigibility by default according to chosen option: OnDelivery=On delivery OnPayment=On payment |