Как нам быть с упрощенкой... или партионный учет для всех...
Как нам быть с упрощенкой... или партионный учет для всех...
fixin
https://koenigsoft.boom.ru/
Из всех пагтий нам важнее всего пагтия большевиков, товагищи!
В нашей стране как в Зазеркалье и упрощенная
система налогообложения (упрощенка) -
это завуалированное название Усложненки.
Давайте же попробуем укротить этого монстра и
нарисовать Книгу Доходов/Расходов:
Под продажной стоимостью товаров
понимается стоимость оплаченного покупателями
товара; под покупной стоимостью товара
понимается стоимость оплаченного поставщику
товара
С доходами просто - это
выручка. А вот как быть с расходами? Расходы - это
стоимость той части отпущенного товара, которая
оплачена поставщику. Т.е. не вся себестоимость
проданного товара, а только оплаченная его часть?
Ну и как ее определить?
У нас большой розничный магазин и точно ведется
только учет остатков товаров, суммы долга
поставщиков на 60.1 (общей суммой, не в разрезе
накладных). Себестоимость мы всегда прикидывали
по последней закупочной цене. Проблема...
Возможно такое решение. Оно требует много процессорного времени, запускается в конце отчетного периода (на ночь например, или в копии базы), но тем не менее, довольно эффективный алгоритм. В суть метода положена идея о том, что зная остаток долга/товара на дату, можно поднять приход от этой даты вглубь истории и определить, с каких накладных набрался этот остаток...
С начала ведения учета по всем приходным накладным составляется две таблицы:
По товару (ПриходТоваров):
| Товар | Дата_Время | Документ | Количество | Сумма |
НДС |
Таблица отсортирована по Товар (по
возрастанию), затем по Дата_Время (по убыванию).
| Контрагент | Дата | Документ | Сумма | НДС |
Таблица отсортирована по контрагенту
(по возрастанию), затем по дате (по убыванию).
По расходу (продаже) товара формируется таблица:
По проданному товару (РасходТоваров):
| Товар | Дата_Время | Документ | Баланс | Количество |
Таблица отсортирована по по Дата_Время
(по возрастанию). Баланс - это остаток товара
на момент перед движением. Количество - это
количество проданного товара.
По остатку долга на конец периода (КонецПериода) формируется таблица:
По оплатам поставщикам (ОстаткиПоставщиков):
| Контрагент | Баланс |
Баланс - это остаток долга поставщика на
конец периода.
Определение оплаченных накладных:
Используем метод обратного счета.:
В таблице ПриходПоставщиков добавляем
колонку "ДоляОплаты".
для всех накладных в
ПриходПоставщиков ДоляОплаты=0%
по каждой строке таблицы
ОстаткиПоставщиков делать:
в таблице
ПриходПоставщиков находим первую
строку по данному Контрагенту, в которой
Дата<=КонецПериода;
Набрано=0; //пробуем
набрать сумму Баланс
спускаясь по
строчкам таблицы ПриходПоставщиков в пределах
данного Контрагента
НеОплачено=min(Сумма, Баланс-Набрано); //какая сумма накладной неоплачена
Оплачено=Сумма-НеОплачено //какая сумма накладной оплачена
ДоляОплаты=Оплачено/Сумма*100%;
Набрано=Набрано+НеОплачено; //накапливаем набранную сумму
Таким образом, по каждой накладной в ПриходПоставщиков получили, насколько она оплачена на КонецПериода (ДоляОплаты, %). Можно сформировать два таких отчета на начало и конец периода и увидеть, по каким накладным изменилась оплата и насколько за период...
Определение накладной, с которой списан товар (FIFO):
Используем метод обратного счета (аналогично
долгам):
В таблице РасходТоваров добавляем
колонку "Партия" - она будет указывать
накладную, с которой списался
товар. В каждой ячейке колонки "Партия"
содержится таблица вида:
| Накладная | Количество |
по каждой строке
таблицы РасходТоваров делать:
в таблице ПриходТоваров находим
первую строку по данному Товару, в которой
ПриходТоваров.Дата_Время<=РасходТоваров.Дата_Время;
Набрано=0; (пробуем набрать
остаток Баланс)
спускаясь по
строчкам таблицы ПриходТоваров в пределах
данного Товара
пока (Набрано<РасходТоваров.Баланс):
//пока еще не набрали всего товара из прихода
Списано=min(ПриходТоваров.Количество,
РасходТоваров.Баланс-Набрано);
установить в текущей строчке таблицы Партия Партия. Накладная=ПриходТоваров.Документ;
установить в текущей строчке таблицы Партия Партия.Количество=Списано;
Набрано=Набрано+Списано; //накапливаем набранное количество
Таким образом по каждому движению мы имеем табличку, в которой расписано, с какой партии списалось какое количество товара из данного движения.
Определение расходов:
Для определения того, что можно отнести в расходы из таблицы расхода товара нужно отобрать только те движения товаров, которые были по оплаченным накладным. Они идут в расходы.
Неоплаченные накладные по товару нужно запомнить - они пойдут в расходы в следующие периоды.
Т.е. по каждой неоплаченной накладной нужно запомнить сумму, на которую она неоплачена.
Если есть неоплаченные накладные из прошлых периодов, которые оплатились в этом, они идут в расходы текущего периода.
Неоплаченные накладные можно запоминать в таблице вида:
| Контрагент | Накладная | Сумма |
Где обсчитывать:
Вручную все это просчитать нереально. EXCEL тоже не
годится, т.к. если принять в одной приходной
накладной в среднем 10 строк, то он позволяет
проанализировать только 6000 накладных (количество
строк в листе). Возможно ACCESS. Или же писать это все
прямо в 1С, что лишает отчет универсальности.
Придумаю - скажу... Конечно, вам придется
выкручиваться сейчас в период сдачи книги самим,
но может быть следующее поколение упростителей
жизни будет жить при коммунизме.
Можно брать не весь период, а только 3-6 месяцев, а себестоимость предыдущих периодов брать по последней закупочной цене на начало анализа. Короче, вариантов много. Есть куда приложить руку творческой личности...
P.S.: Прошу прощения за неточности в алгоритмах, если они есть. Ошибки в программах есть всегда, даже в самых гениальных (ну скромный я, пардон). Хотелось побыстрее поделиться идеей.



Комментарии
2это азбука - придраться не к чиму.
теперь и сравнить валовую оплату поставщикам с себестоимостью оплаченных покупателями товаров. если валовая оплата больше или равна себестоимости, тогда всё - в расход, если валовая оплата больше себестоимости - тогда в расходы сумму только в пределах себестоимости.
и не надо учета по наименованиям и накладным :)