Browse Source

Add information in VAT admin page

Alexandre SPANGARO 7 years ago
parent
commit
4a46ffc5d8
3 changed files with 147 additions and 108 deletions
  1. 143 108
      htdocs/admin/taxes.php
  2. 1 0
      htdocs/langs/en_US/companies.lang
  3. 3 0
      htdocs/langs/en_US/main.lang

+ 143 - 108
htdocs/admin/taxes.php

@@ -3,7 +3,7 @@
  * Copyright (C) 2004-2008 Laurent Destailleur  <eldy@users.sourceforge.net>
  * Copyright (C) 2005-2009 Regis Houssin        <regis.houssin@capnetworks.com>
  * Copyright (C) 2011-2013 Juanjo Menent        <jmenent@2byte.es>
- * Copyright (C) 2015      Alexandre Spangaro   <aspangaro.dolibarr@gmail.com>
+ * Copyright (C) 2015-2018 Alexandre Spangaro   <aspangaro@zendsi.com>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -30,12 +30,14 @@ require_once DOL_DOCUMENT_ROOT . '/core/lib/admin.lib.php';
 if (! empty($conf->accounting->enabled)) require_once DOL_DOCUMENT_ROOT . '/core/class/html.formaccounting.class.php';
 
 $langs->load('admin');
+$langs->load('objects');
+$langs->load("companies");
 
 if (!$user->admin) accessforbidden();
 
 $action = GETPOST('action','alpha');
 
-// Other parameters ACCOUNTING_*
+// Other parameters
 $list = array (
 		'ACCOUNTING_VAT_PAY_ACCOUNT'
 );
@@ -59,51 +61,55 @@ $list = array (
 $tax_mode = empty($conf->global->TAX_MODE)?0:$conf->global->TAX_MODE;
 
 if ($action == 'update') {
-    $error = 0;
+	$error = 0;
 
 	// Tax mode
 	$tax_mode = GETPOST('tax_mode','alpha');
 
-    $db->begin();
-
-    $res = dolibarr_set_const($db, 'TAX_MODE', $tax_mode,'chaine',0,'',$conf->entity);
-    if (! $res > 0) $error++;
-
-    switch ($tax_mode)
-    {
-        case 0:
-            $value = 'payment';
-            break;
-        case 1:
-            $value = 'invoice';
-            break;
-    }
-
-    $res = dolibarr_set_const($db, 'TAX_MODE_SELL_PRODUCT', 'invoice','chaine',0,'',$conf->entity);
-    if (! $res > 0) $error++;
-    $res = dolibarr_set_const($db, 'TAX_MODE_BUY_PRODUCT', 'invoice','chaine',0,'',$conf->entity);
-    if (! $res > 0) $error++;
-    $res = dolibarr_set_const($db, 'TAX_MODE_SELL_SERVICE', $value,'chaine',0,'',$conf->entity);
-    if (! $res > 0) $error++;
-    $res = dolibarr_set_const($db, 'TAX_MODE_BUY_SERVICE', $value,'chaine',0,'',$conf->entity);
-    if (! $res > 0) $error++;
+	$db->begin();
+
+	$res = dolibarr_set_const($db, 'TAX_MODE', $tax_mode,'chaine',0,'',$conf->entity);
+	if (! $res > 0) $error++;
+
+	switch ($tax_mode)
+	{
+		case 0:
+			$value = 'payment';
+			break;
+		case 1:
+			$value = 'invoice';
+			break;
+	}
+
+	$res = dolibarr_set_const($db, 'TAX_MODE_SELL_PRODUCT', 'invoice','chaine',0,'',$conf->entity);
+	if (! $res > 0) $error++;
+	$res = dolibarr_set_const($db, 'TAX_MODE_BUY_PRODUCT', 'invoice','chaine',0,'',$conf->entity);
+	if (! $res > 0) $error++;
+	$res = dolibarr_set_const($db, 'TAX_MODE_SELL_SERVICE', $value,'chaine',0,'',$conf->entity);
+	if (! $res > 0) $error++;
+	$res = dolibarr_set_const($db, 'TAX_MODE_BUY_SERVICE', $value,'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');
-    } else {
-        $db->rollback();
-        setEventMessages($langs->trans("Error"), null, 'errors');
-    }
+	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');
+	} else {
+		$db->rollback();
+		setEventMessages($langs->trans("Error"), null, 'errors');
+	}
 }
 
 
@@ -122,74 +128,105 @@ dol_fiche_head();
 
 if (empty($mysoc->tva_assuj))
 {
-    print $langs->trans("YourCompanyDoesNotUseVAT").'<br>';
+	print $langs->trans("YourCompanyDoesNotUseVAT").'<br>';
 }
 else
 {
-    print '<table class="noborder" width="100%">';
-
-    // Cas des parametres TAX_MODE_SELL/BUY_SERVICE/PRODUCT
-    print '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';
-    print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
-    print '<input type="hidden" name="action" value="update">';
-
-    print '<tr class="liste_titre">';
-    print '<td colspan="2">'.$langs->trans('OptionVatMode').'</td><td>'.$langs->trans('Description').'</td>';
-    print "</tr>\n";
-    print '<tr class="oddeven"><td width="200"><input type="radio" name="tax_mode" value="0"'.($tax_mode != 1 ? ' checked' : '').'> '.$langs->trans('OptionVATDefault').'</td>';
-    print '<td colspan="2">'.nl2br($langs->trans('OptionVatDefaultDesc'));
-    print "</td></tr>\n";
-    print '<tr class="oddeven"><td width="200"><input type="radio" name="tax_mode" value="1"'.($tax_mode == 1 ? ' checked' : '').'> '.$langs->trans('OptionVATDebitOption').'</td>';
-    print '<td colspan="2">'.nl2br($langs->trans('OptionVatDebitOptionDesc'))."</td></tr>\n";
-
-    print "</table>\n";
-
-    print '<br>';
-    print load_fiche_titre($langs->trans("SummaryOfVatExigibilityUsedByDefault"),'','');
-    //print ' ('.$langs->trans("CanBeChangedWhenMakingInvoice").')';
-
-    print '<table class="noborder" width="100%">';
-    print '<tr class="liste_titre"><td>&nbsp;</td><td>'.$langs->trans("Buy").'</td><td>'.$langs->trans("Sell").'</td></tr>';
-
-    // Products
-    print '<tr class="oddeven"><td>'.$langs->trans("Product").'</td>';
-    print '<td>';
-    print $langs->trans("OnDelivery");
-    print ' ('.$langs->trans("SupposedToBeInvoiceDate").')';
-    print '</td>';
-    print '<td>';
-    print $langs->trans("OnDelivery");
-    print ' ('.$langs->trans("SupposedToBeInvoiceDate").')';
-    print '</td></tr>';
-
-    // Services
-    print '<tr class="oddeven"><td>'.$langs->trans("Services").'</td>';
-    print '<td>';
-    if ($tax_mode == 0)
-    {
-        print $langs->trans("OnPayment");
-        print ' ('.$langs->trans("SupposedToBePaymentDate").')';
-    }
-    if ($tax_mode == 1)
-    {
-        print $langs->trans("OnInvoice");
-        print ' ('.$langs->trans("InvoiceDateUsed").')';
-    }
-    print '</td>';
-    print '<td>';
-    if ($tax_mode == 0)
-    {
-        print $langs->trans("OnPayment");
-        print ' ('.$langs->trans("SupposedToBePaymentDate").')';
-    }
-    if ($tax_mode == 1)
-    {
-        print $langs->trans("OnInvoice");
-        print ' ('.$langs->trans("InvoiceDateUsed").')';
-    }
-    print '</td></tr>';
-
-    print '</table>';
+	print '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';
+	print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
+	print '<input type="hidden" name="action" value="update">';
+
+	print '<table class="noborder" width="100%">';
+	print '<tr class="liste_titre"><td>'.$langs->trans("CompanyIds").'</td><td>'.$langs->trans("Value").'</td></tr>';
+
+	print '<tr class="oddeven"><td><label for="intra_vat">'.$langs->trans("VATIntra").'</label></td><td>';
+	print '<input name="tva" id="intra_vat" class="minwidth200" value="' . (! empty($conf->global->MAIN_INFO_TVAINTRA) ? $conf->global->MAIN_INFO_TVAINTRA : '') . '">';
+	print '</td></tr>';
+
+	print '<tr class="oddeven"><td><label for="activate_MAIN_INFO_VAT_RETURN">'.$langs->trans("VATReturn").'</label></td>';
+	if (! $conf->use_javascript_ajax)
+	{
+		print '<td class="nowrap" align="right">';
+		print $langs->trans("NotAvailableWhenAjaxDisabled");
+		print "</td>";
+	}
+	else
+	{
+		print '<td width="120">';
+		$listval=array('0'=>$langs->trans(""),
+		'1'=>$langs->trans("Monthly"),
+		'2'=>$langs->trans("Quarterly"),
+		'3'=>$langs->trans("Annual"),
+		);
+		print $form->selectarray("MAIN_INFO_VAT_RETURN", $listval, $conf->global->MAIN_INFO_VAT_RETURN);
+		print "</td>";
+	}
+	print '</tr>';
+
+	print '</table>';
+
+	print "<br>\n";
+
+	print '<table class="noborder" width="100%">';
+
+	// Cas des parametres TAX_MODE_SELL/BUY_SERVICE/PRODUCT
+	print '<tr class="liste_titre">';
+	print '<td colspan="2">'.$langs->trans('OptionVatMode').'</td><td>'.$langs->trans('Description').'</td>';
+	print "</tr>\n";
+	print '<tr class="oddeven"><td width="200"><input type="radio" name="tax_mode" value="0"'.($tax_mode != 1 ? ' checked' : '').'> '.$langs->trans('OptionVATDefault').'</td>';
+	print '<td colspan="2">'.nl2br($langs->trans('OptionVatDefaultDesc'));
+	print "</td></tr>\n";
+	print '<tr class="oddeven"><td width="200"><input type="radio" name="tax_mode" value="1"'.($tax_mode == 1 ? ' checked' : '').'> '.$langs->trans('OptionVATDebitOption').'</td>';
+	print '<td colspan="2">'.nl2br($langs->trans('OptionVatDebitOptionDesc'))."</td></tr>\n";
+
+	print "</table>\n";
+
+	print '<br>';
+	print load_fiche_titre($langs->trans("SummaryOfVatExigibilityUsedByDefault"),'','');
+	//print ' ('.$langs->trans("CanBeChangedWhenMakingInvoice").')';
+
+	print '<table class="noborder" width="100%">';
+	print '<tr class="liste_titre"><td>&nbsp;</td><td>'.$langs->trans("Buy").'</td><td>'.$langs->trans("Sell").'</td></tr>';
+
+	// Products
+	print '<tr class="oddeven"><td>'.$langs->trans("Product").'</td>';
+	print '<td>';
+	print $langs->trans("OnDelivery");
+	print ' ('.$langs->trans("SupposedToBeInvoiceDate").')';
+	print '</td>';
+	print '<td>';
+	print $langs->trans("OnDelivery");
+	print ' ('.$langs->trans("SupposedToBeInvoiceDate").')';
+	print '</td></tr>';
+
+	// Services
+	print '<tr class="oddeven"><td>'.$langs->trans("Services").'</td>';
+	print '<td>';
+	if ($tax_mode == 0)
+	{
+		print $langs->trans("OnPayment");
+		print ' ('.$langs->trans("SupposedToBePaymentDate").')';
+	}
+	if ($tax_mode == 1)
+	{
+		print $langs->trans("OnInvoice");
+		print ' ('.$langs->trans("InvoiceDateUsed").')';
+	}
+	print '</td>';
+	print '<td>';
+	if ($tax_mode == 0)
+	{
+		print $langs->trans("OnPayment");
+		print ' ('.$langs->trans("SupposedToBePaymentDate").')';
+	}
+	if ($tax_mode == 1)
+	{
+		print $langs->trans("OnInvoice");
+		print ' ('.$langs->trans("InvoiceDateUsed").')';
+	}
+	print '</td></tr>';
+
+	print '</table>';
 }
 
 print "<br>\n";
@@ -204,8 +241,6 @@ print "</tr>\n";
 
 foreach ($list as $key)
 {
-	
-
 	print '<tr class="oddeven value">';
 
 	// Param

+ 1 - 0
htdocs/langs/en_US/companies.lang

@@ -258,6 +258,7 @@ ProfId4DZ=NIS
 VATIntra=Sales tax ID
 VATIntraShort=Tax ID
 VATIntraSyntaxIsValid=Syntax is valid
+VATReturn=VAT return
 ProspectCustomer=Prospect / Customer
 Prospect=Prospect
 CustomerCard=Customer Card

+ 3 - 0
htdocs/langs/en_US/main.lang

@@ -921,3 +921,6 @@ CommentDeleted=Comment deleted
 Everybody=Everybody
 PayedBy=Payed by
 PayedTo=Payed to
+Monthly=Monthly
+Quarterly=Quarterly
+Annual=Annual