This ProjectEntry graph extension (placed in App_RuntimeCode\ProjectEntry.cs) automates project‑management (PM) labor budgeting. Whenever a user changes the Original Budgeted Amount on any Revenue Budget line, the extension

recomputes the project’s total revised revenue (excluding the special inventory item PMLABOR),

converts that total into PM hours via a rate table (GetPMHours),

updates or inserts a Revenue Budget line for PMLABOR so its Qty = PM hours and CuryUnitRate = 90,

Kitt Parker a3705454a6 comment change 4 miesięcy temu
LaborRuleBase.cs a23bd7f180 Updated Project 5 miesięcy temu
LaborRules.cs 1e8747b560 New Template Exclusion 4 miesięcy temu
ProjectEntryExt.cs a3705454a6 comment change 4 miesięcy temu
ProjectEntryLaborAdjust.csproj e5ad1bb9de Update 'ProjectEntryLaborAdjust.csproj' 4 miesięcy temu
README.md 8ee7152351 Added readme 6 miesięcy temu

README.md

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 |

  1. Updates / inserts one PMLABOR line → Qty = PM‑hours, Rate = 90, amount auto‑recalculated.
  2. Pins the rate in RowPersisting, preventing the 90 → 0 flip when users save mid‑edit.
  3. 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