Files
public/ruodoo_commservice/README.rst

117 lines
6.4 KiB
ReStructuredText
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
====================================
РуОду — Аренда и коммунальные услуги
====================================
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
|badge1| |badge2|
Управление договорами аренды и коммунальных услуг: учёт объектов и
приборов учёта (счётчиков), ввод показаний по периодам и автоматическое
формирование счетов (``account.move``) — фиксированной суммой или по
расходу счётчика. Договор аренды связывается с российским договором
(``partner.contract.customer``), нативная бухгалтерия Odoo не затрагивается.
Порт коммерческого модуля ``comm_service`` (Odoo 17) на платформу РуОду
(Odoo 19) с согласованием с российской локализацией ``l10n_ru_*``.
**Содержание**
.. contents::
:local:
Возможности
===========
* Договоры аренды с привязкой к объектам (офисы, машиноместа и т. п.)
и статусами «Черновик / Действует / Не действует»
* Каталог объектов с признаком занятости и историей цен
* Приборы учёта (счётчики) и показания по периодам с контролем
корректности (год, месяц, монотонность показаний)
* Автоматическое формирование счетов за период:
* ежемесячно, ежеквартально или ежегодно
* фиксированной суммой либо по расходу счётчика (разница показаний)
* защита от повторного начисления за один и тот же период
* Мастер массового создания счетов по всем действующим договорам
* Мастер ввода показаний счётчиков за период
* Связь договора аренды с российским договором
(``partner.contract.customer``); поля периода и договора на счёте
* Печатная форма «Счёт по форме 1С» (устаревшая, см. ниже)
* Портал заказчика: отображение текущего долга
Зависимости
===========
* ``account`` — счета (``account.move``)
* ``l10n_ru_contract`` — российские договоры (``partner.contract.customer``),
реквизиты компании и контрагента (``chief_id``, ``inn``, ``kpp``)
* ``l10n_ru_contract_account`` — поле ``mt_contract_id`` и синхронизация
счёта с договором (``set_ons``)
Python-зависимости: ``pytils`` (суммы и даты прописью в печатной форме).
Использование
=============
#. Заведите типы объектов и объекты в *Аренда > Объекты*.
#. Создайте договор аренды в *Аренда > Договоры*: укажите заказчика,
компанию, объект и строки услуг (продукт, цена, период, при
необходимости — счётчик). Переведите договор в статус «Действует».
#. Вносите показания счётчиков вручную или через
*Аренда > Счётчики > Мастер ввода показаний*.
#. Формируйте счета кнопкой «Создать счета» в договоре или через
*Аренда > Договоры > Создание счетов* (массовый мастер по всем
действующим договорам).
#. При необходимости привяжите договор аренды к российскому договору
(кнопка «Договор не привязан. Создать?»).
Счета создаются в состоянии «Черновик»: их можно проверить и провести
штатными средствами Odoo. При проведении счёт попадает в РСБУ-слой через
коннектор документов (событие ``action_post``) — отдельных действий не
требуется.
Печатные формы
==============
Форма «Счёт по форме 1С» (``ruodoo_commservice.report_inv_1c``) помечена
**устаревшей**: печать в проекте переведена на DOCX. Форма скрыта из
интерфейса (сброшен ``binding_model_id``), но код сохранён и может быть
вызван программно. Планируемое удаление — в версии 20 (см.
``docs/research/11-qweb-reports-registry.md``).
Известные ограничения
=====================
* Учёт ведётся в рублях, ориентирован на российскую локализацию.
* Счёт дохода в строке счёта берётся из категории товара; если он не
задан, подставляется счёт по умолчанию из журнала продаж.
Тестирование
============
Модуль покрыт тестами ``TransactionCase`` (создание счетов по периодам и
по счётчикам, контроль дублей и показаний, мастера). Запуск::
docker compose run --rm odoo odoo -d <db> -i ruodoo_commservice \
--test-enable --test-tags=/ruodoo_commservice --stop-after-init
Авторы
======
* MK.Lab, RuOdoo
Модуль сопровождается MK.Lab, RuOdoo.
.. image:: https://ruodoo.ru/logo.png
:alt: MK.Lab, RuOdoo
:target: https://ruodoo.ru
Модуль является частью решения РуОду.