# Acumatica ProjectEntry **PM Labor Auto‑Budget** Extension Keeps one **PMLABOR** revenue‑budget line in sync with the project’s PM‑hours every time a revenue budget amount changes. | Item | Value | |------|-------| | **Target screen / graph** | **Project Entry** (`PM301000`) → `ProjectEntry` | | **DAC touched** | `PMRevenueBudget` | | **Key Inventory ID** | `PMLABOR` | | **Labor rate** | **90** (project currency) | | **Exits early when** | • Project’s branch **301**
• Billing rule **PROGRESS** | --- ## ✨ Features 1. **Monitors** `Original Budgeted Amount` on revenue lines. 2. **Totals** the project’s revised revenue (excluding PMLABOR). 3. **Converts** that total to PM‑hours with a bucket table: | Revenue ≤ | PM Hours | |-----------|---------| | 1 000 | 1.0 | | 2 500 | 1.5 | | 5 000 | 3.0 | | 7 500 | 3.5 | | 10 000 | 5.0 | | 25 000 | 6.0 | | 50 000 | 9.0 | | > 50 000 | 10.5 | 4. **Updates / inserts** one PMLABOR line → `Qty = PM‑hours`, `Rate = 90`, amount auto‑recalculated. 5. **Pins** the rate in `RowPersisting`, preventing the 90 → 0 flip when users save mid‑edit. 6. **Debug logging** via `PXTrace` (toggle with `DEBUG_ON`). --- ## 🛠 Install ```text 1. Copy ProjectEntryExt.cs → \App_RuntimeCode 2. Customization » Projects (SM204505) • Add File → select ProjectEntryExt.cs • Publish