dodil/erp-brick-purchasing

DODIL ERP brick: purchasing

src/brick_purchasing/application/use_cases.py

"""The use cases — what a person (or their agent, or a neighbouring brick) can do with purchasing.

Each is declared ONCE (in its module under application/) and served as an API route and as an MCP tool. This module only gathers them onto the
one Brick, PURCHASING, which `app.py` and a composition load: `brick_purchasing.application.use_cases:PURCHASING`.

  requests     asking, approving (release levels), raised by sales-order and inventory          PUR-01..03, 38, 65
  orders       pricing in the supplier's unit, confirming, amending                              PUR-04..09, 23, 24, 35, 37, 44, 55, 57, 62
  receipts     recording what arrived, returns, the hand-over to inventory                       PUR-07, 25, 26, 53, 58
  bills        the supplier's claim, the three-way match, approval, posting                     PUR-10..12, 17, 18, 20, 27, 28, 36, 52
  payments     runs, the bank file (pain.001, BACS Standard 18), confirming, CIS                  PUR-14..16, 19, 29, 59..61, 66
  master       settings, limits, strategies, tolerances, supplier prices, profiles, bank details  PUR-13, 23, 30, 31, 52
"""
from brick_purchasing.application import (  # noqa: F401  (each registers its use cases)
    agreements,
    assets,
    bill_drafts,
    bills,
    consignment,
    down_payments,
    evaluation,
    intercompany,
    master,
    migration,
    orders,
    payments,
    receipts,
    requests,
    self_billing,
    sourcing,
    subcontract,
)
from brick_purchasing.application.base import PURCHASING, _repository_default  # noqa: F401

repository = _repository_default   # erp-platform's composition swaps this one; base.repository reads it per call