cb36d3b8fd1d37ba0b4dd0584a44d861a0b37d2c
Spec (docs/reviewed/document-lifecycle.md): - C1: Correct GlManager::delete() description — reversal entry, not hard delete - C3: Clarify PO status 2/3 are derived (receipt_status), never stored - C4: Add invoice status=2 (Paid/Settled) to status table - C5: Add full Receipt/Payment Billing Note lifecycle section - C6: Add Quotation status table and transition rules - C7: Document soft-delete tombstone mechanism (company_id negation) Code (InvoiceManager.php): - C2: voidInvoice() now blocks on active credit notes, posted receipt billing notes, and posted payment billing notes in addition to the existing receipt/payment checks - M9: softDelete() skips assertPostingWindow for draft invoices (status=0) since drafts have no GL entry and no accounting impact Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Description
No description provided
211 MiB
Languages
PHP
95.7%
JavaScript
2.2%
CSS
1.7%
Python
0.3%