2. Краткий алгоритм работы модуля

Модуль поддерживает два вида документов: Счета и Счета-фактуры. Счёт - уведомление клиенту о сумме, необходимой к оплате. Счёт-фактура - документ, определяющий размер оказанных услуг абоненту. Реально он представляет из себя одновременно счет-фактуру и акт выполненных работ. В стандартном шаблоне они разделены на разных листах: на первом листе отображается счет-фактура, а на втором - акт.

Оба вида документов выставляются для конкретного договора и делятся на Типы. Пример типов: Счёт телефония физ. лица, Счёт интернет юр. лица. Тип определяет набор Позиций для документа. Позиция - строка документа, состоящая из:

названия, например "Абонплата за февраль";
суммы, например 10.40;
количества, например 10;
число знаков после запятой для количества, например 2;
единицы измерения, например Мб.

Каждый документ состоит из набора позиций и некоторых параметров для всего документа. Общие для обоих типов документов параметры:

Дата создания;
Номер;
Тип;
Номерной пул;
Сумма;
Месяц, за который выставлен документ.

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