Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Расчет НДС в инвойсе в админке


Recommended Posts

Необходимо рассчитать НДС в инвойсе в админке. В заказе учитывается система скидок 3000:3, 5000:10, 10000:15, 20000:20, купоны и стоимость доставки (модуль "Почта России"). Итоговый НДС считается по логике: сначала считается НДС товара с учетом скидок и купонов, затем НДС доставки и в конце все суммируется.

Расчет НДС за каждую позицию товара без учета скидок и пр. я сделал. Вот код:

 

controller/sale/order.php:

$data['total_nds'] = 0;

$products = $this->model_sale_order->getOrderProducts($order_id);

				foreach ($products as $product) {
					$option_data = array();

					$options = $this->model_sale_order->getOrderOptions($order_id, $product['order_product_id']);

					foreach ($options as $option) {
						if ($option['type'] != 'file') {
							$value = $option['value'];
						} else {
							$upload_info = $this->model_tool_upload->getUploadByCode($option['value']);

							if ($upload_info) {
								$value = $upload_info['name'];
							} else {
								$value = '';
							}
						}

						$option_data[] = array(
							'name'  => $option['name'],
							'value' => $value
						);
					}
                    
                    $product_nds = $this->model_sale_order->getOrderProducts($order_id, $product['order_product_id']);
                    
                    foreach ($product_nds as $data['nds']) {
                        $data['nds'] = round($this->currency->format($product['total'])*20/120, 2, PHP_ROUND_HALF_UP);
                    }
                    
                    $data['total_nds'] += $data['nds'];

					$product_data[] = array(
						'name'     => $product['name'],
						'model'    => $product['model'],
						'option'   => $option_data,
						'quantity' => $product['quantity'],
						'price'    => $this->currency->format($product['price'] + ($this->config->get('config_tax') ? $product['tax'] : 0), $order_info['currency_code'], $order_info['currency_value']),
						'total'    => $this->currency->format($product['total'] + ($this->config->get('config_tax') ? ($product['tax'] * $product['quantity']) : 0), $order_info['currency_code'], $order_info['currency_value']),
						'nds'      => $data['nds'],
						'total_nds'=> $data['total_nds'] 
                    );
				}

Подскажите, куда смотреть, чтобы при расчете учесть скидки, купоны и доставку?

Змінено користувачем fofa
Надіслати
Поділитися на інших сайтах


1 час назад, fofa сказал:

Подскажите, куда смотреть, чтобы при расчете учесть скидки, купоны и доставку?

Посмотрите, как сделаны оригинальные файлы opencart в заказе, там учитываются купоны и скидки.

Надіслати
Поділитися на інших сайтах

21 час назад, smartcoder сказал:

Посмотрите, как сделаны оригинальные файлы opencart в заказе, там учитываются купоны и скидки.

 

В заказе купоны учитываются из оригинальных файлов, скидка рассчитывается с помощью стороннего модуля "Скидка от суммы заказа", доставка рассчитывается модулем "Почта России". Не могу найти файл, который включает результаты вычислений модулей в общую цену и выводит в шаблон  корзины витрины, либо в админке в заказах.

Прошу подсказать путь

Змінено користувачем fofa
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.