Account Reconciliation Engine: - reconcile() method on account.move.line matches debit↔credit lines - Creates account.partial.reconcile records for each match - Detects full reconciliation (all residuals=0) → account.full.reconcile - updatePaymentState() tracks paid/partial/not_paid on invoices - Payment register wizard now creates journal entries + reconciles Stock Quant Reservation: - assignMove() reserves products from source location quants - getAvailableQty() queries unreserved on-hand stock - _action_confirm → confirmed + auto-assigns if stock available - _action_assign creates stock.move.line reservations - _action_done updates quants (decrease source, increase dest) - button_validate on picking delegates to move._action_done - Clears reserved_quantity on completion Sale Invoice Creation (rewritten): - Proper debit/credit/balance on invoice lines - Tax computation from SO line M2M tax_ids (percent/fixed/division) - Revenue account lookup (SKR03 8300 with fallbacks) - amount_residual set on receivable line (enables reconciliation) - qty_invoiced tracking on SO lines - Line amount computes now include tax in price_total Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
52 KiB
52 KiB