у меня есть два типа абон план за услуги передачи данных: обычная фиксированная абон плата (id=4) и доводящая абон плата (id=5), которая "съедается" наработкой по модулю IPN.
Абон плату в счетах я выставляю одной позицией:
bill.pos.100.title=[A] Абонплата за передачу данных
bill.pos.100.name=Абонентская плата за услуги передачи данных
bill.pos.100.summ=NPAY_MIN_ACCOUNT(2, $month, 5) + SERVICE_AMOUNT($month, 4)
bill.pos.100.unit=--
эта позиция присутсвует в шаблонах "авансовый счет" и "единый счет". Ну и есть еще куча всяких позиций типа "тех обслуживание", "абон плату за резервинования CIR", абон платы за воип услуги и тд и тп, вообщем некий перечень позиций, которые в свою очередь формируются наработками по перечню услуг, за которые я хочу выставить счет авансом. В моем случае это все услуги модуля NPAY.
Тип документа "авансовый счет" выставляется от первого числа каждого месяца, а "единый" понятное дело от последнего числа месяца. Грубо говоря, в понедельник 1-го июня, я прийдя на работу сгенерил счета за МАЙ от 31.05.2009 по типам "единый" и "доплаты", затем сгенерил акты/сф за МАЙ от 31.05.2009, затем сгенерил счета за ИЮНЬ от 1.06.2009 по типам "авансовый".
Для корректировки выставленных авансом абон плат есть позиция:
bill.pos.900.title=[А] Корректировка абонплаты
bill.pos.900.name=Корректировка абонентской платы
bill.pos.900.summ=SERVICE_ACCOUNT($month, 3, 4, 8, 9, 12,14,15, 16, 17, 18, 21) + NPAY_MIN_ACCOUNT(2, $month, 5) - BILL_BILL_SUM(3, $month, 1)
bill.pos.900.unit=--
эта позиция включена только в тип документа счетов "доплаты", в едином она понятное дело не нужна.
Итак, берется наработка по _всем_ услугам которые участвуют в формировании позиций типа документа "Авансовый счет" (id = 1), по доводящей абон плате (id = 5) берется не наработка а максимальный предел макросом NPAY_MIN_ACCOUNT (я хз почему его min обозвали, но не суть важно), из этой суммы вычитается сумма счета с типом документа ID=1 за этот же месяц по модулю с ID=3 (модуль bill).
Т.е. когда я выставлял авансы, то наработка по адон платам была допустим X рублей, по итогам же прошедшего месяца она стала Y рублей (приостановки договоров, изменения тарифных планов и тп), соответсвенно корректировка будет равна X-Y рублей.
Дальше варианты:
1) корректировка положительна, все OK, клиент доплачивает, если у него какие то вопросы возникнут он просто сравнивает авансовый и доплатный счет с актом и видит откуда взялась корректировка, так как в акте будет уже реальная наработки по всем услугам которые выставлялись авансом, в том числе если авансового счета небыло вообще (клиент включился в середине месяца и ему не стали выставлять авансовый счет руками) он увидит все наработки по своим абон платам в актах/сф, а доплатном счете будет просто положительная корректировка.
2) корректировка нулевая, ну тут все понятно, эта позиция просто исчезнет из документа когда он будет создаваться.
3) корректировка отрицательная но меньше чем наработка по сумме доплатных позиций, иначе говоря сумма счета остается положительной или нулевой, тут все тоже нормально, клиент все поймет посмотрев в акты
4) корректировка отрицательная и больше наработок по услугам выставляемых как "доплаты", вот тут немного фигня выходит, это отрицательный счет, ваша бухгалтерия с этим счетом дело иметь не захочет, да и клиенту он нафик не уперся. В большинстве случаев по таким договорам и оплаты по авансовому счету небыло еще, они заплатят уже по факту получения актов и проблем ни у кого не будет. Иногда же договор блокируется уже после получения аванса, тогда на договоре висит положительное сальдо, если договор будет снова активирован через сколько то месяцев то это положительное сальдо надо будет как то вычитать из суммы счета, но это ни в коем случае нельзя делать ручным модифицированием документа с типом "авансовый счет", иначе в итоговом счете вылезет неправильная корректировка (X-Y, где Y лажа, нарисованная руками). Вообщем у нас за этим есть кому следить.
Если же договор расторгается, то биллинг тут опять же не при делах, все разборки с положительным сальдо ложатся на плечи бухгалтерии, там своя механика возврата денег и в нее вам лучше не вникать.
вроде все, если что не понятно спрашивайте
Последний раз редактировалось Jimson 09 июн 2009, 21:49, всего редактировалось 2 раз(а).
|