|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
Есть некий простой кейс: клиенты выполняют оплаты за некоторую услугу, деньги копятся, потом более крупными платёжками перечисляются поставщику услуги. До сего дня всё было хорошо - были некие входящие документы "платежи клиентов", и некие исходящие - "платежные поручения поставщику". Входящие документы проводились как кредит счёта поставщика, исходящие - как дебет, все проводки упорядочены по времени. Всех устраивала простая оборотно сальдовая ведомость за нужный период. Баланс сходится и хорошо. Но возникло новое требование - поставщики теперь хотят знать "какие именно входящие документы" (или даже их часть!) вошли в тот или иной "исходящий документ". А клиенты "какая часть их платежа в какую именно платёжку поставщика вошла". Т.е. понадобилось как-то связывать входящие платежные поручения с исходящими. Причем заплатить клиент может 100 тыс, а поставщику мы сегодня перечислим из них 50 тыс, и завтра еще 50 тыс. И наоборот, может заплатить десяток клиентов, а мы это всё перечислим одной платёжкой поставщику. Получается надо как-то теперь для каждого входящего документа хранить еще и неперечисленный остаток что-ли? А формирование исходящей платёжки теперь - не просто "перечислил 50 тыс и провел это как дебет счета поставщика", а должен быть некий нетривиальный процесс поиска еще неперечисленных остатков по входящим документам и включение этих остатков в формируемое платежное поручение. Лажу по всяким бухгалтерским форумам - что-то нигде не нахожу схему, в которой надо исходящие потоки как-то увязывать с входящими. Такое вообще существует в природе? Пока ломаю голову, как этот процесс связывания входящих и исходящих документов уложить в БД, учитывая, что одна оплата клиента может попасть в несколько платежных поручений в пользу поставщика и наоборот, в одно поручение в пользу поставщика может войти несколько оплат клиентов. Есть ли стандартные шаблоны для такого учёта и на каком этапе формируется такая связь между входом и выходом? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 01:00 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
anvano Есть некий простой кейс: клиенты выполняют оплаты за некоторую услугу, деньги копятся, потом более крупными платёжками перечисляются поставщику услуги. До сего дня всё было хорошо - были некие входящие документы "платежи клиентов", и некие исходящие - "платежные поручения поставщику". Входящие документы проводились как кредит счёта поставщика, исходящие - как дебет, все проводки упорядочены по времени. Всех устраивала простая оборотно сальдовая ведомость за нужный период. Баланс сходится и хорошо. Но возникло новое требование - поставщики теперь хотят знать "какие именно входящие документы" (или даже их часть!) вошли в тот или иной "исходящий документ". А клиенты "какая часть их платежа в какую именно платёжку поставщика вошла". Т.е. понадобилось как-то связывать входящие платежные поручения с исходящими. Причем заплатить клиент может 100 тыс, а поставщику мы сегодня перечислим из них 50 тыс, и завтра еще 50 тыс. И наоборот, может заплатить десяток клиентов, а мы это всё перечислим одной платёжкой поставщику. Получается надо как-то теперь для каждого входящего документа хранить еще и неперечисленный остаток что-ли? А формирование исходящей платёжки теперь - не просто "перечислил 50 тыс и провел это как дебет счета поставщика", а должен быть некий нетривиальный процесс поиска еще неперечисленных остатков по входящим документам и включение этих остатков в формируемое платежное поручение. Лажу по всяким бухгалтерским форумам - что-то нигде не нахожу схему, в которой надо исходящие потоки как-то увязывать с входящими. Такое вообще существует в природе? Пока ломаю голову, как этот процесс связывания входящих и исходящих документов уложить в БД, учитывая, что одна оплата клиента может попасть в несколько платежных поручений в пользу поставщика и наоборот, в одно поручение в пользу поставщика может войти несколько оплат клиентов. Есть ли стандартные шаблоны для такого учёта и на каком этапе формируется такая связь между входом и выходом? Тут два вида связи. Первый вид - связь между инвойсами и оплатами. Есть 10 инвойсов от поставщика, есть 8 оплат поставщику, и связь между ними многие ко многим. Реализовано в любой нормальной ЕРП. Например вот почитай (первое попавшееся нашел): https://navhelp110.fenwickcloud.com.au/main.aspx?lang=en&content=tskApplyVendorLedgerEntries.htm В этом кейсе есть нюанс, когда документы в разных валютах. Это существенно все усложняет. Второй вид - это связь между тем, что закупил, и тем, что продал (платежи покупателей связать с платежами поставщикам). В явном виде такая связь ни в одной системе, насколько знаю, не хранится. Но часто такие отчеты нужны финансистам. Делается через партии товара (лоты). Можно через реальные лоты, можно по ФИФО связывать. Это уже от конкретной ЕРП зависит, но в нормальных связь есть. Для услуг можно использовать или такой же механизм, или дополнительную аналитику (проект, заказ и т.п.). Доп аналитику чаще используют и это проще. Ну и в отчете делаешь по ФИФО связь между платежами от клиентов с оплатами поставщикам. В целом - стандартная задача, странно что ничего найти не можешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 10:03 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
anvano, да, стандартная вещь. С точки зрения БД делается третья таблица как связь между "платежи клиентов" и "платежные поручения поставщику". Реализация может быть разной. Но с точки зрения универсальности нужно дать возможность связывать по FIFO или LIFO на автомате и также дать возможность "ручной" связи. В третьей таблице хранятся ссылки на текущие две и некая сумма, связанная с первой таблицей. Возможно частичное покрытие. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 11:01 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
Да тоже смотрю пока в сторону таблицы - связки, в которой сумма частичного покрытия будет. Смущает только ожидаемые тормоза в момент формирования очередного платежного поручения. Если делать что-то типа FIFO, то в этот момент надо как-то оперативно найти "самый старый платеж клиента, который покрыт не на полную сумму", не перелопачивая абсолютно все оплаты за весь период работы базы. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 12:27 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
anvanoЕсли делать что-то типа FIFO Так не делай. Заставь пользователей вручную указывать какой именно платёж они покрывают. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 12:34 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
Мде, походу апетиты растут, на ходу еще одно требование материализовалось. Платежные поручения поставщику могут быть "авансом", т.е. изначально без привязки к платежам клиентов. Соответственно все последующие оплаты клиентов должны "втыкаться" в это платежное поручение :) Т.е. схема с покрытиями еще и в обратную сторону работать должна. Но в случае с промежуточной таблицей-связкой вроде этот момент тоже реализуем. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 12:37 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Так не делай. Заставь пользователей вручную указывать какой именно платёж они покрывают. Это нереально, оплат за день может десять тысяч быть (это фактические данные уже), они сливаются в одну-две платежки поставщику. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 12:39 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
anvanoЭто нереально, оплат за день может десять тысяч быть (это фактические данные уже), они сливаются в одну-две платежки поставщику. В этом-то вся суть. Пару дней помудохаются, аппетит-то и урежется. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 12:43 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
anvano, с оговоркой, на то, что мне лично на фазе проектирования с подобной задачей сталкиваться не приходилось, и у меня нет детально продуманной реализации, на общую вскидку, рискну высказать такие соображения: - Просто таблицей связи с "долями участия" ты, вероятно, не обойдешься. Да и не с неё я бы предлагал тебе начинать. Логически у тебя каждый из этих "документов" (входных/выходных) становится самостоятельным "счетом", с каким-то текущим размером нераспределённого остатка. И тебе нужны будут две таблицы - остатков на этих "счетах" и движений по ним. Собственно, движения и будут "таблицей связи". При поступлении документа заводится "счет" с остатком на полную сумму поступившего документа, которая списывается движениями "привязки". Отбирать для связи ты будешь документы с ненулевым остатком привязки на текущую дату. На этом ты можешь строить хоть автоматические, хоть ручные процедуры привязки с произвольными правилами очередности. Как-то так... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 13:09 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
На уровне базы две таблицы - платежи и связи. Причем связи лучше всего делать не два ИД платежа в одной строке, а ИД связи, ИД платежа, сумма. То есть каждая связь - минимум две записи в таблице связей. Потом проще будет отчеты делать и работать. Например, отправили платеж, а он потом вернулся - что то не так с платежом. И тут можно закрыть эти два платежа друг на друга удобным способом. А вот логика связывания может быть сложной и разной для разных случаев. Но на уровне таблиц все будет без изменений. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 14:28 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
anvano Есть ли стандартные шаблоны для такого учёта и на каком этапе формируется такая связь между входом и выходом? Лучше использовать не стандартный... По идее хватит одной связующей таблицы и одного фиктивного поставщика с названием типа "Резерв" и с одним (единственным) документом типа "Аванс"... Связующая таблица: ИД - Ключ/Счетчик ИД_Документа_Клиента ИД_Документа_Поставщика Дата Сумма Алгоритм работы: 1. Если сумма идет один в один или меньше чем нужно - это штатный режим, связываем документы суммой и всё... 2. Если сумма оплаты клиента больше чем нужно, то требуемую сумму связываем документами, а остаток вешаем на документ Аванс поставщика Резерв... 3. Если оплата клиента просто на перспективу (не понятно за что), вешаем всю сумму на на документ Аванс поставщика Резерв... 4. Естественно в самом начале, перед формированием очередного документа Поставщику сначала частично или (желательно) полностью гасим Резервы по Авансам - Авансы Клиентов вешаем на реальный документ Поставщика.. Что имеем: 1. Всегда есть данные по не реализованным резервам средств от Клиентов с привязкой к их платежным документам. 2. При реализации Резервов не теряется связь между документами, ибо мы тупо меняем ссылку остатка суммы клиента с документа Аванс на ссылку реального документа к Поставщику... Немного (совсем немного) гимора может быть только в п. 4, если Авансы будут гаситься частично... Я так думаю, что кто-то решил в системе контролировать движение средств дабы их не придерживали и не проворачивали, но такая реализация наоборот будет способствовать этому, ибо теперь я точно буду знать реальную картину и регулируя п. 4, смогу не в слепую пользоваться существующими резервами... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 14:53 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
s_ustinov, Это у нас обычно "полупроводками" называют, с "журналом операций". Что-то легче, что-то сложнее... При таком варианте может потребоваться третий элемент - "таблица транзакций" связей. Это само по себе усложнение конструкции. Вообще, имхо, такой вариант больше характерен для немецких или канадских заходов на организацию учёта. У нас большая редкость. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 14:57 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
booby s_ustinov, Это у нас обычно "полупроводками" называют, с "журналом операций". Что-то легче, что-то сложнее... При таком варианте может потребоваться третий элемент - "таблица транзакций" связей. Это само по себе усложнение конструкции. Вообще, имхо, такой вариант больше характерен для немецких или канадских заходов на организацию учёта. У нас большая редкость. В навике так, OEBS, и в куче других систем. Так реально удобнее. Больше гибкость. Если делать вот так: vmag Связующая таблица: ИД - Ключ/Счетчик ИД_Документа_Клиента ИД_Документа_Поставщика Дата Сумма то будет проблема, когда надо "занулить" один документ клиента другим документом клиента (а не поставщика). Хотя вот совсем недавно именно так и сделал. Надо начисления и инвойсы связывать, и сделал именно такую таблицу - с кодом инвойса и начисления в одной строке. Но это довольно ограниченная функциональность пока. Потом может и переделаю - и именно по той причине, что указал. Часть кредит нот обнуляет инвойсы, одни начисления корректируют другие... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 18:11 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
s_ustinov то будет проблема, когда надо "занулить" один документ клиента другим документом клиента (а не поставщика). А можно расшифровать что это такое ? А то смахивает на холостой выстрел в никуда... Клиент заплатил, деньги упали, связка образовалась, что, чем и зачем нулить ? Тут же всё привязано к деньгам - нулить нельзя, есть понятие возврат средств... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 18:28 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
vmag s_ustinov то будет проблема, когда надо "занулить" один документ клиента другим документом клиента (а не поставщика). А можно расшифровать что это такое ? А то смахивает на холостой выстрел в никуда... Клиент заплатил, деньги упали, связка образовалась, что, чем и зачем нулить ? Тут же всё привязано к деньгам - нулить нельзя, есть понятие возврат средств... Клиент заплатил, деньги упали. Их учли. Потом вдруг оказалось, что заплатил ошибочно, и их надо вернуть. С чем будет связан первоначальный платеж? Все эти связи между документами - они не полностью автоматически делаются. Там всегда надо "дорабатывать напильником". И вот в процедуре закрытия месяца стоит задача - вычистить все "нераспределенные" платежи. Не должы они болтаться сами по себе. И куда этот возвращенный платеж привязывать? Как вариант - надо делать отдельную пометку "отмененной" операции, которая не должна участвовать в связках. Но там начинаются свои нюансы. Есть просто ошибочная операция в системе, сделанная бухгалтером (неправильный учет), которую он отменил и сделал правильный документ. А есть неправильный платеж, который, тем не менее, появился в выписках банка. Всегда приходится показывать в отчете все платежи по банку (чтобы была возможность легкой сверки) и приходится думать, как показывать всякие нестандартные операции. И чем гибче механизм связывания - тем потом проще все эти нестандартные сценарии реализовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 18:44 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
s_ustinov, авторто будет проблема, когда надо "занулить" один документ клиента другим документом клиента (а не поставщика). ну, если бы тут на самом деле была проблема, то "полнопроводочные" системы вообще не смогли бы работать. Тут и в инф системах, если пошерстить, - много бесконечностраничных срачей на эту тему можно отыскать. На бегу, это больше вопрос происхождения текущего остатка на "счёте". Одно из используемых условий такое - остаток не может образоваться без наличия записи в операциях-связях. То есть нельзя установить "нераспределенный остаток" на документе (счёте) без записи в комбинации хотя бы с фиктивным счетом, сорта того, на который указывал vmag После этого всё можно "занулить". ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 18:45 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
s_ustinov то будет проблема, когда надо "занулить" один документ клиента другим документом клиента (а не поставщика). И ещё... документы клиента могут просто валяться в своей таблице теоретически бесконечно в неизменном виде, в связующую таблицу они попадают при формировании платежного документа Поставщику - это очевидно из постановки задачи... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 18:48 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
booby То есть нельзя установить "нераспределенный остаток" на документе (счёте) без записи в комбинации хотя бы с фиктивным счетом, сорта того, на который указывал vmag Ну тоже как вариант - при любой оплате любого клиента всё сразу падает на Аванс - Резерв, а при формировании документа Поставщику Вытаскивается оттуда и по ИД - Ключ/Счетчик можно гасить авансы в порядке их поступления ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 18:57 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
vmag s_ustinov то будет проблема, когда надо "занулить" один документ клиента другим документом клиента (а не поставщика). И ещё... документы клиента могут просто валяться в своей таблице теоретически бесконечно в неизменном виде, в связующую таблицу они попадают при формировании платежного документа Поставщику - это очевидно из постановки задачи... Разумеется. Сами документы никак меняться не должны. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 20:46 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
vmag, порядок поступления вообще не имеет значения на отдалённый взгляд. То, что ты называешь авансом - резервом я вижу как классический активно-пассивный счёт советского учёта, или, в модернизированной терминологии, как обыкновенный "парный счёт". Для него важна сторона остатка и его значение, а не детальная последовательность. С точностью до понимания, что все, что записано до текущего момента - произошло. Оно не может изменить остаток такого счёта, но может изменить валовой оборот по нему, что почти всегда, для искусственного счёта не имеет значения. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 20:51 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
booby s_ustinov, авторто будет проблема, когда надо "занулить" один документ клиента другим документом клиента (а не поставщика). ну, если бы тут на самом деле была проблема, то "полнопроводочные" системы вообще не смогли бы работать. Тут и в инф системах, если пошерстить, - много бесконечностраничных срачей на эту тему можно отыскать. На бегу, это больше вопрос происхождения текущего остатка на "счёте". Одно из используемых условий такое - остаток не может образоваться без наличия записи в операциях-связях. То есть нельзя установить "нераспределенный остаток" на документе (счёте) без записи в комбинации хотя бы с фиктивным счетом, сорта того, на который указывал vmag После этого всё можно "занулить". Когда в строке указывается два счета - там отчеты чуть сложнее строить. :) Оно все работает, просто менее гибкая схема. Много вариантов можно сделать, но лично я бы не усложнял. Потом все эти усложнения боком вылазят. Особенно, если ТС первый раз с подобными задачами сталкивается. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 20:53 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
vmag s_ustinov то будет проблема, когда надо "занулить" один документ клиента другим документом клиента (а не поставщика). И ещё... документы клиента могут просто валяться в своей таблице теоретически бесконечно в неизменном виде, в связующую таблицу они попадают при формировании платежного документа Поставщику - это очевидно из постановки задачи... Если кратко и в целом, то это чепуха. И является она следствием того, что думать человек может только с использованием некоторых символов, допустим слов, в терминах которых описана, смоделирована, та или иная реальность (которая при этом всегда вымышлена). Неудачный выбор слов предопределяет неработоспособность разрабатываемой вымышленной модели. Либо абсолютно, путем введения в заблуждение относительно использованных слов, или, иначе говоря, внутренней противоречивости модели, либо относительно, в результате "неконгруэнтности" попыток её применения к конкретным наблюдаемым процессам. В частности, "при формировании" можно считать всегда сформированным, как элемент будущих расчетов с дебиторами/кредиторами. Выбрав правильное имя для осла - допустим, кредитор , ты сразу знаешь как и что делать дальше. Очевидным становится и смысл задачи - аналитический учет кредиторской/дебиторской задолженности. Она всегда есть, прошлая, текущая или будущая, даже если никакой "документ", её касающийся, еще не сформирован. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 21:15 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
s_ustinov, авторОно все работает, просто менее гибкая схема. откровенно говоря, я не вижу особых оснований для такого заявления. В том смысле, что не считаю Union All реальным проявлением негибкости. Зато непрошимаемое без доп оговорок сорта - "смотри как я умею в в полупроводочной системе" преимущество полнопроводочности состоит в том, что эта схема автоматически, на базовом уровне, гарантирует выполнение балансового уравнения в двудольном графе счетов учёта. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 21:22 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
Такое ощущение, что я попал на форум 1С, - ибо только в этом измерении существуют все вышеописанные геморрои и термины, или один я не по адресу попал, или все кроме меня включая ТС зашли не туда... Форум называется Проектирование БД, а не обзор граблей фирмы 1С ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 22:53 |
|
Финансовый учет, как связать входящие документы с исходящми?
|
|||
---|---|---|---|
#18+
vmag, проектирование бд многогранное тело. на разных его гранях используется несовпадающий набор модельных представлений и, даже если, за скудостью языка, используются одни и те слова, их смысл, интерпретация, зависит от способа видения этого тела именно сквозь эту конкретную грань. А сама бд - этот как набор ноликов и единичек - без интертрепации штука бессмысленная - "набор табличек", из которых можно получать "другие таблички". Пустышка, практически, вне 1C/ ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 23:26 |
|
|
start [/forum/topic.php?fid=32&fpage=3&tid=1539868]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
others: | 262ms |
total: | 395ms |
0 / 0 |