НДС

Новая тема
Считают они по следующей формуле (Сумма * 18 / 118). В чеке у вас так и будет стоять 18%, это ндс выделенный из суммы.

P.S.: Торговля - это не школа и проценты здесь бывают разные.


Спасибо за ответ. Если не сложно все таки почему 18% в торговле не считают по школьной формуле? Там своя формула процентов?
Я действительно хочу понять, чтобы не задавать больше таких вопросов - почему делят на 118 а не 100, получается стоимость товара 100% + 18% НДС-это и есть 22824.9, но ведь 18% берут от общей суммы чека. Причем все покупатели скидку считали иммено так, а продовец(магазин) по вашей схеме.
Маленький экскурс в бух учет можно, буквально откуда такая формула делить на 118. Пожалуйста.
"вот, как считается :


//******************************************************************************
//  глНачисляемыйНДС(Ставка)
//
// Параметры:
// Ставка - значение типа "Перечисление.СтавкиНДС".
//
// Возвращаемое значение:
//  Числовой коэффициент НДС.
//
// Описание:
// По ставке НДС (Перечисление) получаем числовой коэффициент НДС, на который
//  необходимо умножить число при начислении НДС сверху для получения суммы НДС.
//  
Функция глНачисляемыйНДС(Ставка) Экспорт
Если ПустоеЗначение(Ставка)=1 Тогда
Возврат 0;
ИначеЕсли(Ставка=Перечисление.СтавкиНДС.БезНДС) Тогда
Возврат 0;
ИначеЕсли (Ставка=Перечисление.СтавкиНДС.НДС10) Тогда
Возврат 0.1;
ИначеЕсли (Ставка=Перечисление.СтавкиНДС.НДС20) Тогда
Возврат 0.2;
ИначеЕсли (Ставка=Перечисление.СтавкиНДС.НДС18) Тогда
Возврат 0.18;
ИначеЕсли (Ставка=Перечисление.СтавкиНДС.НДС9_09) Тогда
Возврат 0.09998900010999890001099989000 // Это 0.0909/0.9091;
ИначеЕсли (Ставка=Перечисление.СтавкиНДС.НДС16_67) Тогда
Возврат 0.20004800192007680307212288492 // Это 0.1667/0.8333, только более точно в последнем знаке;
Иначе
Сообщить("Функция глНачисляемыйНДС(Ставка): неверная ставка");
Возврат 0;
КонецЕсли;
КонецФункции //глНачисляемыйНДС()
   
//******************************************************************************
//  глВыделяемыйНДС(Ставка)
//
// Параметры:
// Ставка - значение типа "Перечисление.СтавкиНДС"
//
// Возвращаемое значение:
//  Числовой коэффициент НДС.
//
// Описание:
// По ставке НДС (Перечисление) получаем числовой коэффициент НДС, на который
//  необходимо умножить число при выделении НДС (если НДС включен в сумму) для
//  получения суммы НДС.
//
Функция глВыделяемыйНДС(Ставка)   Экспорт
Если ПустоеЗначение(Ставка)=1 Тогда
Возврат 0;
ИначеЕсли(Ставка=Перечисление.СтавкиНДС.БезНДС) Тогда
Возврат 0;
ИначеЕсли (Ставка=Перечисление.СтавкиНДС.НДС10)
 или (Ставка=Перечисление.СтавкиНДС.НДС10_110) Тогда
Возврат  0.09090909090909090909090909091; // Это 1/11, только точнее
ИначеЕсли (Ставка=Перечисление.СтавкиНДС.НДС20)
 или (Ставка=Перечисление.СтавкиНДС.НДС20_120) Тогда
Возврат 0.166666666666666666666666666667; // Это 1/6, только точнее
ИначеЕсли (Ставка=Перечисление.СтавкиНДС.НДС18)
 или (Ставка=Перечисление.СтавкиНДС.НДС18_118) Тогда
Возврат 0.15254237288135593220338983050985  // Это округленный результат 18/118;
ИначеЕсли (Ставка=Перечисление.СтавкиНДС.НДС9_09) Тогда
Возврат 0.0909;
ИначеЕсли (Ставка=Перечисление.СтавкиНДС.НДС16_67) Тогда
Возврат 0.1667;
Иначе
Сообщить("Функция глВыделяемыйНДС(Ставка): неверная ставка");
Возврат 0;
КонецЕсли;
КонецФункции //глВыделяемыйНДС()
//******************************************************************************
// глСтавкаНДСАванса(СтавкаНДС)
//
// Параметры:
//  СтавкаНДС - значение перечисления ставки НДС
//
// Возвращаемое значение:
//  Ставка НДС (значение перечисления)
//
// Описание:
//  Для авансов выбираем ставку НДС: если не выбрана, то 16.67, а иначе
// выбранную в документе (соответствующую ей расчетную).
//
Функция глСтавкаНДСАванса(пСтавкаНДС) Экспорт
Если ПустоеЗначение(пСтавкаНДС)=0 Тогда
Если  пСтавкаНДС = Перечисление.СтавкиНДС.НДС10 Тогда
Возврат Перечисление.СтавкиНДС.НДС9_09;
ИначеЕсли  пСтавкаНДС = Перечисление.СтавкиНДС.НДС20 Тогда
Возврат Перечисление.СтавкиНДС.НДС16_67;
Иначе
Возврат пСтавкаНДС;
КонецЕсли;
Иначе    
Возврат Перечисление.СтавкиНДС.НДС16_67;
КонецЕсли;
КонецФункции // глСтавкаНДСАванса()

//******************************************************************************
//  глРасчетНалога(Конт,ВидНалога)
//
// Параметры:
// Конт      - контекст документа
//  ВидНалога - строка "НДС" или "НП"
//
// Возвращаемое значение:
//  Нет
//
// Описание:
// Рассчитываем сумму налога, подставляем ее в документ
//
Процедура глРасчетНалога(Конт,ВидНалога) Экспорт
                                                     
ЕстьНП = глЕстьРеквизитМнЧ("СуммаНП",Конт.Вид());
СтНП=0;
Если ЕстьНП=1 Тогда
СтНП =?(Конт.УчитыватьНП =1,Конт.СтавкаНП.Ставка/100,0);
КонецЕсли;
СтавкаНДС =?(Конт.УчитыватьНДС=1,Конт.СтавкаНДС,Перечисление.СтавкиНДС.БезНДС);

Если Врег(ВидНалога)="НДС" Тогда
БазаНалога=Конт.Сумма;
Если ЕстьНП=1 Тогда
Если Конт.СуммаВклНП=1 Тогда
БазаНалога=Конт.Сумма/(1+СтНП);
КонецЕсли;
КонецЕсли;
Если Конт.СуммаВклНДС=1 Тогда
Конт.СуммаНДС=БазаНалога*глВыделяемыйНДС(СтавкаНДС);//0.1667, 0.16666(6),...
Иначе
Конт.СуммаНДС=БазаНалога*глНачисляемыйНДС(СтавкаНДС);//0.20, 0.20004...
КонецЕсли;

ИначеЕсли Врег(ВидНалога)="НП" Тогда
Если Конт.СуммаВклНДС=1 Тогда
БазаНалога=Конт.Сумма;
Иначе    
БазаНалога=Конт.Сумма*(1+глНачисляемыйНДС(СтавкаНДС));
КонецЕсли;
Если Конт.СуммаВклНП=1 Тогда
Конт.СуммаНП=БазаНалога*СтНП/(1+СтНП);
Иначе    
Конт.СуммаНП=БазаНалога*СтНП;
КонецЕсли;            
Иначе
Сообщить("РасчетНалога(ВидНалога):неверный вид налога: "+ВидНалога,"i");
КонецЕсли;    

КонецПроцедуры //глРасчетНалога() "
+ НДС должен считается по полной "партии"
Читают тему
(гостей: 1)

Быстрый переход