function alvlaskelma($kk, $vv) { global $yhtiorow, $kukarow, $startmonth, $endmonth; function laskeveroja($taso, $tulos) { global $kukarow, $startmonth, $endmonth; if ($tulos == '22' or $tulos == 'veronmaara' or $tulos == 'summa') { if ($taso == 'fi307') { $vainsuomi = "JOIN lasku ON lasku.yhtio=tiliointi.yhtio and lasku.tunnus=tiliointi.ltunnus and lasku.maa in ('FI', '')"; } else { $vainsuomi = ''; } if ($taso == 'fi309' or $taso == 'fi310') { $_309lisa = " or alv_taso like '%fi300%' "; $vainveroton = " and tiliointi.vero = 0 "; } else { $_309lisa = ""; $vainveroton = ''; } $query = "SELECT ifnull(group_concat(if(alv_taso like '%fi300%', concat(\"'\",tilino,\"'\"), NULL)), '') tilit300,\n ifnull(group_concat(if(alv_taso not like '%fi300%', concat(\"'\",tilino,\"'\"), NULL)), '') tilitMUU\n FROM tili\n WHERE yhtio = '{$kukarow['yhtio']}'\n and (alv_taso like '%{$taso}%' {$_309lisa})"; $tilires = pupe_query($query); $tilirow = mysql_fetch_array($tilires); $vero = 0.0; if ($tilirow['tilit300'] != '' or $tilirow['tilitMUU'] != '') { $tiliointilisa = ''; if ($ryhma == 'fi307') { $tiliointilisa = " and tiliointi.vero > 0 "; } $query = "SELECT sum(round(tiliointi.summa * if('{$tulos}'='22', 22, vero) / 100, 2)) veronmaara,\n sum(tiliointi.summa) summa,\n count(*) kpl\n FROM tiliointi\n {$vainsuomi}\n WHERE tiliointi.yhtio = '{$kukarow['yhtio']}'\n {$tiliointilisa}\n AND korjattu = ''\n AND ("; if ($tilirow["tilit300"] != "") { $query .= " (tilino in ({$tilirow['tilit300']}) {$vainveroton})"; } if ($tilirow["tilit300"] != "" and $tilirow["tilitMUU"] != "") { $query .= " or "; } if ($tilirow["tilitMUU"] != "") { $query .= " tilino in ({$tilirow['tilitMUU']})"; } $query .= " )\n AND tiliointi.tapvm >= '{$startmonth}'\n AND tiliointi.tapvm <= '{$endmonth}'"; $verores = pupe_query($query); while ($verorow = mysql_fetch_array($verores)) { if ($tulos == '22') { $tulos = 'veronmaara'; } $vero += $verorow[$tulos]; } } } else { $vero = 0; } return sprintf('%.2f', $vero); } echo "<font class='head'>" . t("ALV-laskelma") . "</font><hr>"; if (isset($kk)) { $startmonth = date("Y-m-d", mktime(0, 0, 0, $kk, 1, $vv)); $endmonth = date("Y-m-d", mktime(0, 0, 0, $kk + 1, 0, $vv)); // 201-203 sääntö fi200 $query = "SELECT group_concat(concat(\"'\",tilino,\"'\")) tilit\n FROM tili\n WHERE yhtio = '{$kukarow['yhtio']}' and alv_taso like '%fi300%'"; $tilires = pupe_query($query); $fi201 = 0.0; $fi202 = 0.0; $fi203 = 0.0; $tilirow = mysql_fetch_array($tilires); if ($tilirow['tilit'] != '') { $query = "SELECT vero, sum(round(summa * vero / 100 * -1, 2)) veronmaara, count(*) kpl\n FROM tiliointi\n WHERE yhtio = '{$kukarow['yhtio']}'\n AND korjattu = ''\n AND tilino in ({$tilirow['tilit']})\n AND tapvm >= '{$startmonth}'\n AND tapvm <= '{$endmonth}'\n AND vero > 0\n GROUP BY vero"; $verores = pupe_query($query); while ($verorow = mysql_fetch_array($verores)) { // echo "$verorow[vero] $verorow[kpl] / "; switch ($verorow['vero']) { case 22: $fi201 += $verorow['veronmaara']; break; case 17: $fi202 += $verorow['veronmaara']; break; case 8: $fi203 += $verorow['veronmaara']; break; } } } /****************************************** * fi2xx vanharaportti fi3xx uusiraportti ******************************************* * fi201 = fi301 * fi202 = fi302 * fi203 = fi303 * fi205 = fi305 ja fi306 * fi206 = fi307 * fi207 = poistettu uudesta raportista * fi209 = fi309 ja fi310 * fi210 = fi311 ja fi312 * fi211 = fi313 ja fi314 ******************************************/ // 205 sääntö fi205 $fi205 = laskeveroja('fi305', '22') + laskeveroja('fi306', '22'); // 206 sääntö fi206 $fi206 = laskeveroja('fi307', 'veronmaara') + $fi205; // 207 sääntö fi207 $fi207 = laskeveroja('fi207', 'summa'); // 208 laskennallinen $fi208 = $fi201 + $fi202 + $fi203 + $fi205 - $fi206 - $fi207; // 209 sääntö fi209 $fi209 = laskeveroja('fi309', 'summa') * -1; // 210 sääntö fi210 $fi210 = (laskeveroja('fi311', 'summa') + laskeveroja('fi312', 'summa')) * -1; // 211 sääntö fi205 $fi211 = laskeveroja('fi305', 'summa') + laskeveroja('fi306', 'summa'); if (strtoupper($yhtiorow["maa"]) == 'FI') { $uytunnus = tulosta_ytunnus($yhtiorow["ytunnus"]); } else { $uytunnus = $yhtiorow["ytunnus"]; } echo "<br><table>"; echo "<tr><th>Ilmoittava yritys</th><th>{$uytunnus}</th></tr>"; echo "<tr><th>Ilmoitettava kausi</th><th>" . substr($startmonth, 0, 4) . "/" . substr($startmonth, 5, 2) . "</th></tr>"; echo "<tr><th colspan='2'>Vero kotimaan myynnistä verokannoittain</th></tr>"; echo "<tr><td><a href = '?tee=VSRALVKK_VANHA_erittele&ryhma=fi301&vv={$vv}&kk={$kk}'>201</a> 22% :n vero</td><td align='right'>" . sprintf('%.2f', $fi201) . "</td></tr>"; echo "<tr><td><a href = '?tee=VSRALVKK_VANHA_erittele&ryhma=fi302&vv={$vv}&kk={$kk}'>202</a> 17% :n vero</td><td align='right'>" . sprintf('%.2f', $fi202) . "</td></tr>"; echo "<tr><td><a href = '?tee=VSRALVKK_VANHA_erittele&ryhma=fi303&vv={$vv}&kk={$kk}'>203</a> 8% :n vero</td><td align='right'>" . sprintf('%.2f', $fi203) . "</td></tr>"; echo "<tr><th colspan='2'></th></tr>"; echo "<tr><td><a href = '?tee=VSRALVKK_VANHA_erittele&ryhma=fi305&vv={$vv}&kk={$kk}'>205</a> Vero tavaraostoista muista EU-maista</td><td align='right'>" . sprintf('%.2f', $fi205) . "</td></tr>"; echo "<tr><th colspan='2'></th></tr>"; echo "<tr><td><a href = '?tee=VSRALVKK_VANHA_erittele&ryhma=fi307&vv={$vv}&kk={$kk}'>206</a> Kohdekuukauden vähennettävä vero</td><td align='right'>" . sprintf('%.2f', $fi206) . "</td></tr>"; echo "<tr><th colspan='2'></th></tr>"; echo "<tr><td><a href = '?tee=VSRALVKK_VANHA_erittele&ryhma=fi207&vv={$vv}&kk={$kk}'>207</a> Edellisen kuukauden negatiivinen vero</td><td align='right'>" . sprintf('%.2f', $fi207) . "</td></tr>"; echo "<tr><th colspan='2'></th></tr>"; echo "<tr><td>208 Maksettava vero(+)/Seuraavalle kuukaudelle siirrettävä negatiivinen vero (-)</td><td align='right'>" . sprintf('%.2f', $fi208) . "</td></tr>"; echo "<tr><th colspan='2'></th></tr>"; echo "<tr><td><a href = '?tee=VSRALVKK_VANHA_erittele&ryhma=fi309&vv={$vv}&kk={$kk}'>209</a> Veroton liikevaihto</td><td align='right'>" . sprintf('%.2f', $fi209) . "</td></tr>"; echo "<tr><th colspan='2'></th></tr>"; echo "<tr><td><a href = '?tee=VSRALVKK_VANHA_erittele&ryhma=fi311&vv={$vv}&kk={$kk}'>210</a> Tavaran myynti muihin EU-maihin </td><td align='right'>" . sprintf('%.2f', $fi210) . "</td></tr>"; echo "<tr><th colspan='2'></th></tr>"; echo "<tr><td><a href = '?tee=VSRALVKK_VANHA_erittele&ryhma=fi305&vv={$vv}&kk={$kk}'>211</a> Tavaraostot muista EU-maista</td><td align='right'>" . sprintf('%.2f', $fi211) . "</td></tr>"; echo "</table><br>"; $query = "SELECT sum(tiliointi.summa) vero\n FROM tiliointi\n WHERE tiliointi.yhtio = '{$kukarow['yhtio']}'\n AND tiliointi.korjattu = ''\n AND tiliointi.tilino = '{$yhtiorow['alv']}'\n AND tiliointi.tapvm >= '{$startmonth}'\n AND tiliointi.tapvm <= '{$endmonth}'"; $verores = pupe_query($query); $verorow = mysql_fetch_array($verores); echo "<table>"; echo "<tr><td>Tili {$yhtiorow['alv']} yhteensä</td><td align='right'>" . sprintf('%.2f', $verorow['vero']) . "</td></tr>"; echo "<tr><td>Maksettava alv</td><td align='right'>" . sprintf('%.2f', $fi208) . "</td></tr>"; echo "<tr><td>Erotus</td><td align='right'>" . sprintf('%.2f', $verorow['vero'] - $fi208) . "</td></tr>"; echo "</table><br>"; if (strpos($_SERVER['SCRIPT_NAME'], "viranomaisilmoitukset.php") !== FALSE) { $ilmoituskausi = substr($startmonth, 0, 4) . substr($startmonth, 5, 2); $file = "000:VSRALVKK\n"; $file .= "100:" . date("dmY") . "\n"; $file .= "105:E03\n"; $file .= "010:{$uytunnus}\n"; $file .= "052:{$ilmoituskausi}\n"; $file .= "098:1\n"; $file .= "201:" . round($fi201 * 100, 0) . "\n"; $file .= "202:" . round($fi202 * 100, 0) . "\n"; $file .= "203:" . round($fi203 * 100, 0) . "\n"; $file .= "205:" . round($fi205 * 100, 0) . "\n"; $file .= "206:" . round($fi206 * 100, 0) . "\n"; $file .= "207:" . round($fi207 * 100, 0) . "\n"; $file .= "208:" . round($fi208 * 100, 0) . "\n"; $file .= "209:" . round($fi209 * 100, 0) . "\n"; $file .= "210:" . round($fi210 * 100, 0) . "\n"; $file .= "211:" . round($fi211 * 100, 0) . "\n"; $file .= "999:1\n"; $filenimi = "VSRALVKK-{$kukarow['yhtio']}-" . date("dmy-His") . ".txt"; file_put_contents("dataout/" . $filenimi, $file); echo " <form method='post' class='multisubmit'>\n <input type='hidden' name='tee' value='lataa_tiedosto'>\n <input type='hidden' name='lataa_tiedosto' value='1'>\n <input type='hidden' name='kaunisnimi' value='" . t("arvonlisaveroilmoitus") . "-{$ilmoituskausi}.txt'>\n <input type='hidden' name='filenimi' value='{$filenimi}'>\n <input type='submit' name='tallenna' value='" . t("Tallenna tiedosto") . "'>\n </form><br><br>"; } } // tehdään käyttöliittymä, näytetään aina echo "<form method='post'><input type='hidden' name='tee' value ='VSRALVKK_VANHA'>"; echo "<table>"; if (!isset($vv)) { $vv = date("Y"); } if (!isset($kk)) { $kk = date("n"); } echo "<tr>"; echo "<th>" . t("Valitse kausi") . "</th>"; echo "<td>"; $sel = array(); $sel[$vv] = "SELECTED"; $vv_select = date("Y") > 2009 ? 2009 : date("Y"); echo "<select name='vv'>"; for ($i = $vv_select; $i >= $vv_select - 4; $i--) { echo "<option value='{$i}' {$sel[$i]}>{$i}</option>"; } echo "</select>"; $sel = array(); $sel[$kk] = "SELECTED"; echo "<select name='kk'>\n <option {$sel['1']} value = '1'>01</option>\n <option {$sel['2']} value = '2'>02</option>\n <option {$sel['3']} value = '3'>03</option>\n <option {$sel['4']} value = '4'>04</option>\n <option {$sel['5']} value = '5'>05</option>\n <option {$sel['6']} value = '6'>06</option>\n <option {$sel['7']} value = '7'>07</option>\n <option {$sel['8']} value = '8'>08</option>\n <option {$sel['9']} value = '9'>09</option>\n <option {$sel['10']} value = '10'>10</option>\n <option {$sel['11']} value = '11'>11</option>\n <option {$sel['12']} value = '12'>12</option>\n </select>"; echo "</td>"; echo "<td class='back' style='text-align:bottom;'><input type = 'submit' value = '" . t("Näytä") . "'></td>"; echo "</tr>"; echo "</table>"; echo "</form><br>"; }
} echo "<tr><td class='back' colspan='5'></td></tr>"; echo "<tr class='aktiivi'>"; echo "<th colspan='2'>50 " . t("Päivärahat ja ateriakorvaukset") . "</th>"; echo "<td align='right'>" . number_format($kappaleet[50], 2, ',', ' ') . "</td>"; echo "<td colspan='2' align='right'>" . number_format($summat[50], 2, ',', ' ') . "</td>"; echo "</tr>"; echo "<tr class='aktiivi'>"; echo "<th colspan='2'>56 " . t("Verovapaa kilometrikorvaus") . "</th>"; echo "<td align='right'>" . number_format($kappaleet[56], 2, ',', ' ') . "</td>"; echo "<td colspan='2' align='right'>" . number_format($summat[56], 2, ',', ' ') . "</td>"; echo "</tr>"; echo "</table>"; $file = ""; $lask = 1; $ytunnus = tulosta_ytunnus($yhtiorow['ytunnus']); foreach ($vspserie as $htunnus => $matkustaja) { $matkustaja['paivarahat'] = number_format(round($matkustaja['paivarahat'], 2), 2, "", ""); $matkustaja['kilsat_raha'] = number_format(round($matkustaja['kilsat_raha'], 2), 2, "", ""); $matkustaja['kilsat'] = round($matkustaja['kilsat']); $file .= "000:VSPSERIE\n"; $file .= "101:0\n"; $file .= "110:P\n"; $file .= "109:{$vv}\n"; $file .= "102:{$ytunnus}\n"; $file .= "111:{$htunnus}\n"; $file .= "114:0\n"; $file .= "115:0\n"; $file .= "150:{$matkustaja['paivarahat']}\n"; $file .= "151:{$matkustaja['kotimaanpaivat']}\n"; $file .= "152:{$matkustaja['kotimaanpuolipaivat']}\n";
function alvlaskelma($kk, $vv) { global $yhtiorow, $kukarow, $startmonth, $endmonth, $etsivirheita, $oletus_verokanta, $maksettava_alv_tili, $palvelin2, $erotus_tili, $alv_laskelman_sallittu_erotus; echo "<font class='head'>" . t("ALV-laskelma") . "</font><hr>"; if (isset($kk) and $kk != '') { if (isset($etsivirheita) and (int) $etsivirheita > 0) { echo "<br><a href='{$palvelin2}raportit/alv_laskelma_uusi.php?kk={$kk}&vv={$vv}&etsivirheita=" . ($etsivirheita - 1) . "'>" . t("Edellinen päivä") . "</a> "; echo t("ALV-laskelma") . " " . t("päivältä") . " {$etsivirheita}.{$kk}.{$vv} "; echo "<a href='{$palvelin2}raportit/alv_laskelma_uusi.php?kk={$kk}&vv={$vv}&etsivirheita=" . ($etsivirheita + 1) . "'>" . t("Seuraava päivä") . "</a> "; echo "<a href='{$palvelin2}raportit/tilioinnit_lajeittain.php?tee=raportti&laji=myynti&pp={$etsivirheita}&kk={$kk}&vv={$vv}&lpp={$etsivirheita}&lkk={$kk}&lvv={$vv}&lopetus={$palvelin2}raportit/alv_laskelma_uusi.php////tee=VSRALVKK_UUSI//vv={$vv}//kk={$kk}//etsivirheita={$etsivirheita}'>" . t("Näytä tiliöinnit lajeittain") . "</a><br><br>"; $startmonth = date("Y-m-d", mktime(0, 0, 0, $kk, $etsivirheita, $vv)); $endmonth = date("Y-m-d", mktime(0, 0, 0, $kk, $etsivirheita, $vv)); } else { $startmonth = date("Y-m-d", mktime(0, 0, 0, $kk, 1, $vv)); $endmonth = date("Y-m-d", mktime(0, 0, 0, $kk + 1, 0, $vv)); } // 301-303 sääntö fi300 $query = "SELECT group_concat(concat(\"'\",tilino,\"'\")) tilit\n FROM tili\n WHERE yhtio = '{$kukarow['yhtio']}' and alv_taso like '%fi300%'"; $tilires = pupe_query($query); $fi3xx = array(); $fi301 = 0.0; $fi302 = 0.0; $fi303 = 0.0; $tilirow = mysql_fetch_assoc($tilires); if ($tilirow['tilit'] != '') { $query = "SELECT vero, sum(round(tiliointi.summa * vero / 100 * -1, 2)) veronmaara, count(*) kpl\n FROM tiliointi\n JOIN lasku on (lasku.yhtio=tiliointi.yhtio and lasku.tunnus=tiliointi.ltunnus and lasku.tilaustyyppi != '9')\n WHERE tiliointi.yhtio = '{$kukarow['yhtio']}'\n AND tiliointi.korjattu = ''\n AND tiliointi.tilino in ({$tilirow['tilit']})\n AND tiliointi.tapvm >= '{$startmonth}'\n AND tiliointi.tapvm <= '{$endmonth}'\n AND tiliointi.vero > 0\n GROUP BY vero\n ORDER BY vero DESC"; $verores = pupe_query($query); while ($verorow = mysql_fetch_assoc($verores)) { switch ($verorow['vero']) { case 24: case 23: case 22: $fi301 += $verorow['veronmaara']; break; case 14: case 13: case 12: $fi302 += $verorow['veronmaara']; break; case 8: case 9: case 10: $fi303 += $verorow['veronmaara']; break; default: $fi3xx[$verorow['vero']] += $verorow['veronmaara']; break; } } } // 305 "Vero tavaraostoista muista EU maista" $fi305 = laskeveroja('fi305', $oletus_verokanta); // 306 "Vero palveluostoista muista EU maista" $fi306 = laskeveroja('fi306', $oletus_verokanta); // 318 "Vero rakentamispalveluiden ostoista" $fi318 = laskeveroja('fi318', $oletus_verokanta); // 307 sääntö fi307 $fi307 = laskeveroja('fi307', 'veronmaara') + $fi305 + $fi306 + $fi318; // 308 laskennallinen $fi308 = $fi301 + $fi302 + $fi303 + $fi305 + $fi306 + $fi318 - $fi307; // 309 sääntö fi309 $fi309 = laskeveroja('fi309', 'summa') * -1; // 311 sääntö fi311 $fi311 = laskeveroja('fi311', 'summa'); // 312 sääntö fi312 $fi312 = laskeveroja('fi312', 'summa'); // 313 sääntö fi313 $fi313 = laskeveroja('fi313', 'summa'); // 314 sääntö fi314 $fi314 = laskeveroja('fi314', 'summa'); // 319 "Rakentamispalvelun myynnit" $fi319 = laskeveroja('fi319', 'summa') * -1; // 320 "Rakentamispalvelun ostot" $fi320 = laskeveroja('fi320', 'summa'); if (strtoupper($yhtiorow["maa"]) == 'FI') { $uytunnus = tulosta_ytunnus($yhtiorow["ytunnus"]); } else { $uytunnus = $yhtiorow["ytunnus"]; } echo "<br><table>"; echo "<tr><th>", t("Ilmoittava yritys"), "</th><th>{$uytunnus}</th></tr>"; echo "<tr><th>", t("Ilmoitettava kausi"), "</th><th>" . substr($startmonth, 0, 4) . "/" . substr($startmonth, 5, 2) . "</th></tr>"; echo "<tr><th colspan='2'>", t("Vero kotimaan myynnistä verokannoittain"), "</th></tr>"; if ($oletus_verokanta == 22) { echo "<tr class='aktiivi'><td><a href = '?tee=VSRALVKK_UUSI_erittele&ryhma=fi301&vv={$vv}&kk={$kk}&etsivirheita={$etsivirheita}'>301</a> ", t("22% :n vero"), "</td><td align='right'>" . sprintf('%.2f', $fi301) . "</td></tr>"; echo "<tr class='aktiivi'><td><a href = '?tee=VSRALVKK_UUSI_erittele&ryhma=fi302&vv={$vv}&kk={$kk}&etsivirheita={$etsivirheita}'>302</a> ", t("12% :n vero"), "</td><td align='right'>" . sprintf('%.2f', $fi302) . "</td></tr>"; echo "<tr class='aktiivi'><td><a href = '?tee=VSRALVKK_UUSI_erittele&ryhma=fi303&vv={$vv}&kk={$kk}&etsivirheita={$etsivirheita}'>303</a> ", t("8% :n vero"), "</td><td align='right'>" . sprintf('%.2f', $fi303) . "</td></tr>"; } elseif ($oletus_verokanta == 23) { echo "<tr class='aktiivi'><td><a href = '?tee=VSRALVKK_UUSI_erittele&ryhma=fi301&vv={$vv}&kk={$kk}&etsivirheita={$etsivirheita}'>301</a> ", t("23% :n vero"), "</td><td align='right'>" . sprintf('%.2f', $fi301) . "</td></tr>"; echo "<tr class='aktiivi'><td><a href = '?tee=VSRALVKK_UUSI_erittele&ryhma=fi302&vv={$vv}&kk={$kk}&etsivirheita={$etsivirheita}'>302</a> ", t("13% :n vero"), "</td><td align='right'>" . sprintf('%.2f', $fi302) . "</td></tr>"; echo "<tr class='aktiivi'><td><a href = '?tee=VSRALVKK_UUSI_erittele&ryhma=fi303&vv={$vv}&kk={$kk}&etsivirheita={$etsivirheita}'>303</a> ", t("9% :n vero"), "</td><td align='right'>" . sprintf('%.2f', $fi303) . "</td></tr>"; } else { echo "<tr class='aktiivi'><td><a href = '?tee=VSRALVKK_UUSI_erittele&ryhma=fi301&vv={$vv}&kk={$kk}&etsivirheita={$etsivirheita}'>301</a> ", t("24% :n vero"), "</td><td align='right'>" . sprintf('%.2f', $fi301) . "</td></tr>"; echo "<tr class='aktiivi'><td><a href = '?tee=VSRALVKK_UUSI_erittele&ryhma=fi302&vv={$vv}&kk={$kk}&etsivirheita={$etsivirheita}'>302</a> ", t("14% :n vero"), "</td><td align='right'>" . sprintf('%.2f', $fi302) . "</td></tr>"; echo "<tr class='aktiivi'><td><a href = '?tee=VSRALVKK_UUSI_erittele&ryhma=fi303&vv={$vv}&kk={$kk}&etsivirheita={$etsivirheita}'>303</a> ", t("10% :n vero"), "</td><td align='right'>" . sprintf('%.2f', $fi303) . "</td></tr>"; } foreach ($fi3xx as $fikey => $fival) { echo "<tr><td>xxx " . $fikey * 1 . t("% :n vero"), "</td><td align='right'>" . sprintf('%.2f', $fival) . "</td></tr>"; } echo "<tr><th colspan='2'></th></tr>"; echo "<tr class='aktiivi'><td><a href = '?tee=VSRALVKK_UUSI_erittele&ryhma=fi305&vv={$vv}&kk={$kk}&etsivirheita={$etsivirheita}'>305</a> ", t("Vero tavaraostoista muista EU-maista"), "</td><td align='right'>" . sprintf('%.2f', $fi305) . "</td></tr>"; echo "<tr class='aktiivi'><td><a href = '?tee=VSRALVKK_UUSI_erittele&ryhma=fi306&vv={$vv}&kk={$kk}&etsivirheita={$etsivirheita}'>306</a> ", t("Vero palveluostoista muista EU-maista"), "</td><td align='right'>" . sprintf('%.2f', $fi306) . "</td></tr>"; echo "<tr class='aktiivi'><td><a href = '?tee=VSRALVKK_UUSI_erittele&ryhma=fi318&vv={$vv}&kk={$kk}&etsivirheita={$etsivirheita}'>318</a> ", t("Vero rakentamispalveluiden ostoista"), "</td><td align='right'>" . sprintf('%.2f', $fi318) . "</td></tr>"; echo "<tr><th colspan='2'></th></tr>"; echo "<tr class='aktiivi'><td><a href = '?tee=VSRALVKK_UUSI_erittele&ryhma=fi307&vv={$vv}&kk={$kk}&etsivirheita={$etsivirheita}'>307</a> ", t("Kohdekuukauden vähennettävä vero"), "</td><td align='right'>" . sprintf('%.2f', $fi307) . "</td></tr>"; echo "<tr><th colspan='2'></th></tr>"; echo "<tr class='aktiivi'><td>308 ", t("Maksettava vero"), " / ", t("Palautukseen oikeuttava vero"), " (-)</td><td align='right'>" . sprintf('%.2f', $fi308) . "</td></tr>"; echo "<tr><th colspan='2'></th></tr>"; echo "<tr class='aktiivi'><td><a href = '?tee=VSRALVKK_UUSI_erittele&ryhma=fi309&vv={$vv}&kk={$kk}&etsivirheita={$etsivirheita}'>309</a> ", t("0-verokannan alainen liikevaihto"), "</td><td align='right'>" . sprintf('%.2f', $fi309) . "</td></tr>"; echo "<tr><th colspan='2'></th></tr>"; echo "<tr class='aktiivi'><td><a href = '?tee=VSRALVKK_UUSI_erittele&ryhma=fi311&vv={$vv}&kk={$kk}&etsivirheita={$etsivirheita}'>311</a> ", t("Tavaran myynti muihin EU-maihin"), "</td><td align='right'>" . sprintf('%.2f', $fi311) . "</td></tr>"; echo "<tr class='aktiivi'><td><a href = '?tee=VSRALVKK_UUSI_erittele&ryhma=fi312&vv={$vv}&kk={$kk}&etsivirheita={$etsivirheita}'>312</a> ", t("Palveluiden myynti muihin EU-maihin"), "</td><td align='right'>" . sprintf('%.2f', $fi312) . "</td></tr>"; echo "<tr><th colspan='2'></th></tr>"; echo "<tr class='aktiivi'><td><a href = '?tee=VSRALVKK_UUSI_erittele&ryhma=fi313&vv={$vv}&kk={$kk}&etsivirheita={$etsivirheita}'>313</a> ", t("Tavaraostot muista EU-maista"), "</td><td align='right'>" . sprintf('%.2f', $fi313) . "</td></tr>"; echo "<tr class='aktiivi'><td><a href = '?tee=VSRALVKK_UUSI_erittele&ryhma=fi314&vv={$vv}&kk={$kk}&etsivirheita={$etsivirheita}'>314</a> ", t("Palveluostot muista EU-maista"), "</td><td align='right'>" . sprintf('%.2f', $fi314) . "</td></tr>"; echo "<tr><th colspan='2'></th></tr>"; echo "<tr class='aktiivi'><td><a href = '?tee=VSRALVKK_UUSI_erittele&ryhma=fi319&vv={$vv}&kk={$kk}&etsivirheita={$etsivirheita}'>319</a> ", t("Rakentamispalvelun myynti"), "</td><td align='right'>" . sprintf('%.2f', $fi319) . "</td></tr>"; echo "<tr class='aktiivi'><td><a href = '?tee=VSRALVKK_UUSI_erittele&ryhma=fi320&vv={$vv}&kk={$kk}&etsivirheita={$etsivirheita}'>320</a> ", t("Rakentamispalvelun ostot"), "</td><td align='right'>" . sprintf('%.2f', $fi320) . "</td></tr>"; echo "</table><br>"; //HUOM: AND tiliointi.selite not like 'Avaavat saldot%'. Pitäisi mieluummin ratkaista niin, että "Avaavat saldot"-tositteen alatila ois esim "A" $query = "SELECT sum(tiliointi.summa) vero\n FROM tiliointi\n WHERE tiliointi.yhtio = '{$kukarow['yhtio']}'\n AND tiliointi.korjattu = ''\n AND tiliointi.selite not like 'Avaavat saldot%'\n AND tiliointi.tilino = '{$yhtiorow['alv']}'\n AND tiliointi.tapvm >= '{$startmonth}'\n AND tiliointi.tapvm <= '{$endmonth}'"; $verores = pupe_query($query); $verorow = mysql_fetch_assoc($verores); // ei näytetä yhteensä-laatikkoa turhaan if ($verorow["vero"] != 0 or ($verorow['vero'] - $fi308) * -1 != $fi308 or $fi308 == 0) { echo "<table>"; echo "<tr class='aktiivi'><th>", t("Tili"), " {$yhtiorow['alv']} ", t("yhteensä"), "</th><td align='right'>" . sprintf('%.2f', $verorow['vero'] * -1) . "</td></tr>"; echo "<tr class='aktiivi'><th>", t("Maksettava alv"), "</th><td align='right'>" . sprintf('%.2f', $fi308) . "</td></tr>"; echo "<tr class='aktiivi'><th>", t("Erotus"), "</th><td align='right'>" . sprintf('%.2f', -1 * $verorow['vero'] - $fi308) . "</td></tr>"; echo "</table><br>"; } if (tarkista_oikeus("muutosite.php") and (!isset($etsivirheita) or $etsivirheita == 0)) { $query = "SELECT lasku.tunnus\n FROM lasku\n JOIN tiliointi ON (tiliointi.yhtio = lasku.yhtio AND tiliointi.ltunnus = lasku.tunnus)\n WHERE lasku.yhtio = '{$kukarow['yhtio']}'\n AND lasku.tapvm = '{$endmonth}'\n AND lasku.tila = 'X'\n AND lasku.nimi = 'ALVTOSITEMAKSUUN{$endmonth}'"; $tositelinkki_result = pupe_query($query); if (mysql_num_rows($tositelinkki_result) > 0) { $tositelinkki_row = mysql_fetch_assoc($tositelinkki_result); echo "<a href='../muutosite.php?tee=E&tunnus={$tositelinkki_row['tunnus']}&lopetus={$palvelin2}raportit/alv_laskelma_uusi.php////kk={$kk}//vv={$vv}'>", t("Katso tositetta"), "</a><br /><br />"; } elseif (abs($verorow['vero']) != 0 and abs(round(-1 * $verorow['vero'] - $fi308, 2)) <= $alv_laskelman_sallittu_erotus and (int) date("Ym") > (int) $vv . $kk) { echo "<form method='post' name='alv_ilmoituksen_kuittaus'>"; echo "<table>"; echo "<input type='hidden' name='alkukk' value='{$startmonth}' />"; echo "<input type='hidden' name='loppukk' value='{$endmonth}' />"; echo "<input type='hidden' name='vv' value='{$vv}' />"; echo "<input type='hidden' name='kk' value='{$kk}' />"; echo "<input type='hidden' name='tee' value='kuittaa_alv_ilmoitus' />"; echo "<input type='hidden' name='alvmaks_yht' value='" . round($fi308, 2) . "' />"; echo "<input type='hidden' name='alvtili_yht' value='" . round($verorow['vero'] * -1, 2) . "' />"; echo "<tr><th>", t("Anna maksettava ALV-tili"), "</th><td>"; echo livesearch_kentta("alv_ilmoituksen_kuittaus", "TILIHAKU", "maksettava_alv_tili", 200, $maksettava_alv_tili, 'EISUBMIT'); echo "</td></tr>"; if (!isset($erotus_tili) or $erotus_tili == "") { $erotus_tili = $yhtiorow["pyoristys"]; } echo "<tr><th>", t("Anna erotuksen tili"), "</th><td>"; echo livesearch_kentta("erotuksen_kuittaus", "TILIHAKU", "erotus_tili", 200, $erotus_tili, 'EISUBMIT'); echo "</td><td class='back'><input type='submit' value='", t("Kuittaa ALV-ilmoitus"), "' /></td></tr>"; echo "</table></form><br />"; } elseif (abs($verorow['vero']) != 0 and abs(round(-1 * $verorow['vero'] - $fi308, 2)) != 0 and (int) date("Ym") > (int) $vv . $kk) { echo "<font class='error'>", t("Tilin"), " {$yhtiorow['alv']} ", t("ja maksettavan arvonlisäveron luvut eivät täsmää"), "!</font><br /><br />"; } } if (strpos($_SERVER['SCRIPT_NAME'], "viranomaisilmoitukset.php") !== FALSE) { $ilmoituskausi = str_replace("0", "", substr($startmonth, 5, 2)); $ilmoitusvuosi = substr($startmonth, 0, 4); $file = "000:VSRALVKK\n"; $file .= "100:\n"; $file .= "051:\n"; $file .= "105:\n"; $file .= "107:\n"; $file .= "010:{$uytunnus}\n"; $file .= "050:K\n"; $file .= "052:{$ilmoituskausi}\n"; $file .= "053:{$ilmoitusvuosi}\n"; $file .= "301:" . round($fi301 * 100, 0) . "\n"; $file .= "302:" . round($fi302 * 100, 0) . "\n"; $file .= "303:" . round($fi303 * 100, 0) . "\n"; $file .= "305:" . round($fi305 * 100, 0) . "\n"; $file .= "306:" . round($fi306 * 100, 0) . "\n"; $file .= "318:" . round($fi318 * 100, 0) . "\n"; $file .= "307:" . round($fi307 * 100, 0) . "\n"; $file .= "308:" . round($fi308 * 100, 0) . "\n"; $file .= "309:" . round($fi309 * 100, 0) . "\n"; $file .= "311:" . round($fi311 * 100, 0) . "\n"; $file .= "312:" . round($fi312 * 100, 0) . "\n"; $file .= "313:" . round($fi313 * 100, 0) . "\n"; $file .= "314:" . round($fi314 * 100, 0) . "\n"; $file .= "319:" . round($fi319 * 100, 0) . "\n"; $file .= "320:" . round($fi320 * 100, 0) . "\n"; $file .= "999:1\n"; $filenimi = "VSRALVKK-{$kukarow['yhtio']}-" . date("dmy-His") . ".txt"; file_put_contents("dataout/" . $filenimi, $file); echo " <form method='post' class='multisubmit'>\n <input type='hidden' name='tee' value='lataa_tiedosto'>\n <input type='hidden' name='lataa_tiedosto' value='1'>\n <input type='hidden' name='kaunisnimi' value='" . t("arvonlisaveroilmoitus") . "-{$ilmoituskausi}.txt'>\n <input type='hidden' name='filenimi' value='{$filenimi}'>\n <input type='submit' name='tallenna' value='" . t("Tallenna tiedosto") . "'>\n </form><br><br>"; } } // tehdään käyttöliittymä, näytetään aina echo "<form method='post' action='{$palvelin2}raportit/alv_laskelma_uusi.php'><input type='hidden' name='tee' value ='VSRALVKK_UUSI'>"; echo "<table>"; if (!isset($vv)) { $vv = date("Y"); } if (!isset($kk)) { $kk = date("m"); } echo "<tr>"; echo "<th>" . t("Valitse kausi") . "</th>"; echo "<td>"; $sel = array(); $sel[$vv] = "SELECTED"; $vv_select = date("Y") < 2010 ? 2010 : date("Y"); echo "<select name='vv'>"; for ($i = $vv_select; $i >= $vv_select - 4; $i--) { if ($i < 2010) { continue; } echo "<option value='{$i}' {$sel[$i]}>{$i}</option>"; } echo "</select>"; $sel = array(1 => '', 2 => '', 3 => '', 4 => '', 5 => '', 6 => '', 7 => '', 8 => '', 9 => '', 10 => '', 11 => '', 12 => ''); $sel[$kk] = "SELECTED"; echo "<select name='kk'>\n <option {$sel['01']} value = '01'>01</option>\n <option {$sel['02']} value = '02'>02</option>\n <option {$sel['03']} value = '03'>03</option>\n <option {$sel['04']} value = '04'>04</option>\n <option {$sel['05']} value = '05'>05</option>\n <option {$sel['06']} value = '06'>06</option>\n <option {$sel['07']} value = '07'>07</option>\n <option {$sel['08']} value = '08'>08</option>\n <option {$sel['09']} value = '09'>09</option>\n <option {$sel['10']} value = '10'>10</option>\n <option {$sel['11']} value = '11'>11</option>\n <option {$sel['12']} value = '12'>12</option>\n </select>"; echo "</td>"; echo "<td class='back' style='text-align:bottom;'><input type = 'submit' value = '" . t("Näytä") . "'></td>"; echo "</tr>"; echo "<tr>"; echo "<th>" . t("Aja laskelma per päivä") . "</th>"; echo "<td><input type = 'checkbox' name='etsivirheita' value = '1'></td></tr>"; echo "</table>"; echo "</form><br>"; }
// Myynnin arvo EU-maihin $tietue_rivitiedot .= "104:{$koodi}\n"; // Kauppatapakoodi. Tavaramyynnin koodi on tyhjä. Kolmikantakaupassa koodi on 3. Palvelumyynnin koodi on 4. $tietue_rivitiedot .= "009:{$tietue_rivi}\n"; // Toistuvien osatietoryhmien välimerkki: juokseva numero. } } echo "<tr>"; echo "<th colspan = '4'>" . t("Yhteensä") . "</th>"; echo "<td class = 'tumma' align = 'right'>" . sprintf("%.2f", $summa_yhteensa) . "</th>"; echo "<th></th>"; echo "</tr>"; echo "</table>"; echo "<br>"; // Tehdään tietue $uytunnus = tulosta_ytunnus($yhtiorow["ytunnus"]); $arvo = round($summa_yhteensa * 100); $tunniste = substr(md5(date("YmdHis")), 0, 9); $tietue = "000:VSRALVYV\n"; // Tietovirran nimi $tietue .= "100:" . date("dmY") . "\n"; // Saapumispäivä ppkkvvvv. Ilmoituksen arvopäivä eli päivä, jona tiedonkeruupalvelu vastaanotti tiedot. $tietue .= "051:" . date("H:i:s") . ":00\n"; // Saapumispäivän kellonaika hh:mm:ss:dd. Ilmoituksen arvopäivän kellonaika, jona tiedonkeruupalvelu vastaanotti tiedot. $tietue .= "105:VW\n"; // Vastaanottavan palvelun tunnus, joka sovitaan palvelukohtaisesti. // Positio 1: E=Itella, S=TeliaSonera, U=Aditro, N=Logica, K=Koivuniemi, V=Ilmoitin.fi // Positio 2: W=Webin kautta syötetty tietue, O=Ohjelmistointegraation tuottama $tietue .= "107:{$tunniste}\n"; // Tunniste, jonka tiedonkeruupalvelu muodostaa yksilöimään ilmoituksen $tietue .= "010:{$uytunnus}\n";