28 require
'../main.inc.php';
29 require_once DOL_DOCUMENT_ROOT.
'/core/lib/admin.lib.php';
30 if (!empty($conf->accounting->enabled)) require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formaccounting.class.php';
33 $langs->loadLangs(array(
'admin',
'objects',
'companies',
'products'));
37 $action =
GETPOST(
'action',
'aZ09');
57 $tax_mode = empty($conf->global->TAX_MODE) ? 0 : $conf->global->TAX_MODE;
59 if ($action ==
'update') {
63 $tax_mode =
GETPOST(
'tax_mode',
'alpha');
68 if (!($res > 0)) $error++;
73 $valuesellproduct =
'invoice';
74 $valuebuyproduct =
'invoice';
75 $valuesellservice =
'payment';
76 $valuebuyservice =
'payment';
79 $valuesellproduct =
'invoice';
80 $valuebuyproduct =
'invoice';
81 $valuesellservice =
'invoice';
82 $valuebuyservice =
'invoice';
85 $valuesellproduct =
'payment';
86 $valuebuyproduct =
'payment';
87 $valuesellservice =
'payment';
88 $valuebuyservice =
'payment';
92 $res =
dolibarr_set_const($db,
'TAX_MODE_SELL_PRODUCT', $valuesellproduct,
'chaine', 0,
'', $conf->entity);
93 if (!($res > 0)) $error++;
94 $res =
dolibarr_set_const($db,
'TAX_MODE_BUY_PRODUCT', $valuebuyproduct,
'chaine', 0,
'', $conf->entity);
95 if (!($res > 0)) $error++;
96 $res =
dolibarr_set_const($db,
'TAX_MODE_SELL_SERVICE', $valuesellservice,
'chaine', 0,
'', $conf->entity);
97 if (!($res > 0)) $error++;
98 $res =
dolibarr_set_const($db,
'TAX_MODE_BUY_SERVICE', $valuebuyservice,
'chaine', 0,
'', $conf->entity);
99 if (!($res > 0)) $error++;
103 dolibarr_set_const($db,
"MAIN_INFO_VAT_RETURN",
GETPOST(
"MAIN_INFO_VAT_RETURN",
'alpha'),
'chaine', 0,
'', $conf->entity);
120 llxHeader(
'', $langs->trans(
"TaxSetup"));
122 $form =
new Form($db);
123 if (!empty($conf->accounting->enabled)) $formaccounting =
new FormAccounting($db);
125 $linkback =
'<a href="'.DOL_URL_ROOT.
'/admin/modules.php?restore_lastsearch_values=1">'.$langs->trans(
"BackToModuleList").
'</a>';
130 if (empty($mysoc->tva_assuj))
132 print $langs->trans(
"YourCompanyDoesNotUseVAT").
'<br>';
134 print '<form action="'.$_SERVER[
"PHP_SELF"].
'" method="post">';
135 print '<input type="hidden" name="token" value="'.newToken().
'">';
136 print '<input type="hidden" name="action" value="update">';
138 print '<table class="noborder centpercent">';
139 print '<tr class="liste_titre"><td class="titlefield">'.$langs->trans(
"CompanyIds").
'</td><td>'.$langs->trans(
"Value").
'</td></tr>';
141 print '<tr class="oddeven"><td><label for="intra_vat">'.$langs->trans(
"VATIntra").
'</label></td><td>';
142 print '<input name="tva" id="intra_vat" class="minwidth200" value="'.(!empty($conf->global->MAIN_INFO_TVAINTRA) ? $conf->global->MAIN_INFO_TVAINTRA :
'').
'">';
145 print
'<tr class="oddeven"><td><label for="activate_MAIN_INFO_VAT_RETURN">'.$langs->trans(
"VATReturn").
'</label></td>';
146 if (!$conf->use_javascript_ajax)
148 print
'<td class="nowrap right">';
149 print $langs->trans(
"NotAvailableWhenAjaxDisabled");
152 print
'<td width="120">';
154 '0'=>$langs->trans(
""),
155 '1'=>$langs->trans(
"Monthly"),
156 '2'=>$langs->trans(
"Quarterly"),
157 '3'=>$langs->trans(
"Annual"),
159 print $form->selectarray(
"MAIN_INFO_VAT_RETURN", $listval, $conf->global->MAIN_INFO_VAT_RETURN);
168 print
'<table class="noborder centpercent">';
171 print
'<tr class="liste_titre">';
172 print
'<td class="titlefield">'.$langs->trans(
'OptionVatMode').
'</td><td>'.$langs->trans(
'Description').
'</td>';
175 print
'<tr class="oddeven"><td><input type="radio" name="tax_mode" value="0"'.(empty($tax_mode) ?
' checked' :
'').
'> '.$langs->trans(
'OptionVATDefault').
'</td>';
176 print
'<td>'.nl2br($langs->trans(
'OptionVatDefaultDesc'));
177 print
"</td></tr>\n";
179 print
'<tr class="oddeven"><td><input type="radio" name="tax_mode" value="1"'.($tax_mode == 1 ?
' checked' :
'').
'> '.$langs->trans(
'OptionVATDebitOption').
'</td>';
180 print
'<td>'.nl2br($langs->trans(
'OptionVatDebitOptionDesc')).
"</td></tr>\n";
182 if ($conf->global->MAIN_FEATURES_LEVEL >= 1)
184 print
'<tr class="oddeven"><td><input type="radio" name="tax_mode" value="2"'.($tax_mode == 2 ?
' checked' :
'').
'> '.$langs->trans(
'OptionPaymentForProductAndServices').
'</td>';
185 print
'<td>'.nl2br($langs->trans(
'OptionPaymentForProductAndServicesDesc')).
"</td></tr>\n";
190 print
load_fiche_titre(
'',
'',
'', 0, 0,
'',
'-> '.$langs->trans(
"SummaryOfVatExigibilityUsedByDefault"));
194 print
'<table class="noborder centpercent">';
195 print
'<tr class="oddeven"><td class="titlefield"> </td><td>'.$langs->trans(
"Buy").
'</td><td>'.$langs->trans(
"Sell").
'</td></tr>';
198 print
'<tr class="oddeven"><td>'.$langs->trans(
"Product").
'</td>';
200 if ($conf->global->TAX_MODE_BUY_PRODUCT ==
'payment')
202 print $langs->trans(
"OnPayment");
203 print
' ('.$langs->trans(
"SupposedToBePaymentDate").
')';
205 print $langs->trans(
"OnDelivery");
206 print
' ('.$langs->trans(
"SupposedToBeInvoiceDate").
')';
210 if ($conf->global->TAX_MODE_SELL_PRODUCT ==
'payment')
212 print $langs->trans(
"OnPayment");
213 print
' ('.$langs->trans(
"SupposedToBePaymentDate").
')';
215 print $langs->trans(
"OnDelivery");
216 print
' ('.$langs->trans(
"SupposedToBeInvoiceDate").
')';
221 print
'<tr class="oddeven"><td>'.$langs->trans(
"Services").
'</td>';
223 if ($conf->global->TAX_MODE_BUY_SERVICE ==
'payment')
225 print $langs->trans(
"OnPayment");
226 print
' ('.$langs->trans(
"SupposedToBePaymentDate").
')';
228 print $langs->trans(
"OnInvoice");
229 print
' ('.$langs->trans(
"InvoiceDateUsed").
')';
233 if ($conf->global->TAX_MODE_SELL_SERVICE ==
'payment')
235 print $langs->trans(
"OnPayment");
236 print
' ('.$langs->trans(
"SupposedToBePaymentDate").
')';
238 print $langs->trans(
"OnInvoice");
239 print
' ('.$langs->trans(
"InvoiceDateUsed").
')';
249 print
'<div class="center">';
250 print
'<input type="submit" class="button" value="'.$langs->trans(
"Modify").
'" name="button">';
258 if (!empty($conf->accounting->enabled))
260 $langs->load(
"accountancy");
261 print
'<br><br><span class="opacitymedium">'.$langs->trans(
"AccountingAccountForSalesTaxAreDefinedInto", $langs->transnoentitiesnoconv(
"MenuAccountancy"), $langs->transnoentitiesnoconv(
"Setup")).
'</span>';
GETPOST($paramname, $check= 'alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
dolibarr_set_const($db, $name, $value, $type= 'chaine', $visible=0, $note= '', $entity=1)
Insert a parameter (key,value) into database (delete old key then insert it again).
setEventMessages($mesg, $mesgs, $style= 'mesgs', $messagekey= '')
Set event messages in dol_events session object.
load_fiche_titre($titre, $morehtmlright= '', $picto= 'generic', $pictoisfullpath=0, $id= '', $morecssontable= '', $morehtmlcenter= '')
Load a title with picto.
accessforbidden($message= '', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program Calling this function terminate execution ...
print
Draft customers invoices.