по п.2 тебе надо бухгалтерский взгляд: двойная запись т.н.
+ от программера - понятие транзакции ( там появится суть, Datetime, status)
и тогда те самые актуальные цифры будут результатом aggregate / annotate функций ORM
и никак иначе
по п.1 надо изучить отношения One-to-Many , many to many и вообще, чтобы изменения в модели Документы приводили к изменениям связанной модели Товары