Плюс скорее всего клиенты заказывают одно и тоже, не все 6тыс позиций, сделать какой-нибудь анализатор номенклатуры по предыдущим заказам и при поездке к контрагенту актуализировать только то что он обычно покупает. Я вообще скидки считаю на мобильном устройстве, там правда привязка не к контрагенту, а по вхождению в сегмент, сегментов кстати получается всего 10-15 и это упрощает жизнь. При записи заказа в базу скидка пересчитывается по актуальным данным в ЦБ и в случае расхождения обновляется. После этого обновленный заказ отправляется опять на устройство. Счета отправляются и формируются только из ЦБ.