Musilda.cz

Oprava nezobrazování DPH v košíku a pokladně ve WooCommerce

Dnes jsem narazil na poměrně zvláštní problém a chci se s vámi podělit o jeho řešení. WooCommerce neustále zobrazovala v košíku a pokladně nulovou hodnotu DPH.

Přestože jsem nastavení několikrát kontroloval a hledal chybu, neustále ze zobrazovalo „cena obsahuje 0 Kč DPH“.

Vypadalo to tak, že DPH prostě není vůbec počítáno a nezapisovalo se ani do objednávek. Kde tedy hledat chybu, když nastaví bylo v pořádku, na testovacím webu vše fungovalo a DPH se nezobrazilo ani při přepnutí na defaultní šablonu a deaktivaci pluginů? Downgrade nepomohl, přeinstalání WooCommerce také ne.

Nebudu vás napínat, v databázi chyběla jedna tabulka. Nedokáži říci proč, ale prostě se nevytvořila woocommerce_tax_rate_locations.

I když se u nás lokace pro DPH nepoužívají a tabulka zůstane prázdná, tak její neexistence naruší proces výpočtu a bude se vám všude zobrazovat nulové DPH.

Pro vyřešní stačí jít do phpMyAdmin, zvolit SQL a vytvořit samotnou tabulku, přidat klíče a autoincrement. Asi by se to dalo napsat do jednoho příkazu, ale po pěti hodinách jsem byl rád, že jsem našel řešení.

Kód:

CREATE TABLE IF NOT EXISTS `wp_woocommerce_tax_rate_locations` (
`location_id` bigint(20) NOT NULL,
`location_code` varchar(255) NOT NULL,
`tax_rate_id` bigint(20) NOT NULL,
`location_type` varchar(40) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


ALTER TABLE `wp_woocommerce_tax_rate_locations`
ADD PRIMARY KEY (`location_id`), ADD KEY `tax_rate_id` (`tax_rate_id`), ADD KEY `location_type` (`location_type`), ADD KEY `location_type_code` (`location_type`,`location_code`);


ALTER TABLE `wp_woocommerce_tax_rate_locations`
MODIFY `location_id` bigint(20) NOT NULL AUTO_INCREMENT;

Název tabulky se může změnit podle toho, jaký máte zvolená prefix, v tom případě musíte nahradit „wp_“ na začátku jména tabluky.

Exit mobile version