Preview. Live on Cloudflare Pages. Azure pull uses the Worker. No PAT, password, or cookie in this file. OneDrive remains the working preview for edits.

Estimates

Advertising & Marketing / Digital Design

Pull an Azure id

Type one Azure id. Azure type drives the mode — you do not pick it. Work Request is one priced line. Feature Request adds a child Work Request table. Epic groups those Work Requests under each Feature Request. Hierarchy children only. OneDrive is the preview; Pages is not pushed from this file.

No pull yet. Type an Azure id and click Pull.

This session

Local only (this browser). Pulled estimates stay here until you remove them. rates: embedded fallback

How this works

  • Opt-in only. A Manager or Account Executive types one Azure id. Azure type (Work Request, Feature Request, or Epic) drives the page. This page does not watch an area path.
  • Azure fields come from a live Worker. This HTML file has no PAT, cookie, or password.
  • Work Request: one priced line. KPIs are Rate, Hours, and Amount. The PDF is a single line named WR-{id}-estimate.pdf.
  • Feature Request: header and Bill To come from the Feature Request. Child Work Requests are the priced lines. KPIs are Lines, Hours, and Amount. PDF is FR-{id}-estimate.pdf.
  • Epic: header and Bill To come from the Epic. Work Requests group under each child Feature Request. Feature Requests are never priced. KPIs are Teams, Lines, and Amount. PDF is Epic-{id}-estimate.pdf.
  • Bill To / Contact / Email / header Business Area come from the id the Manager or Account Executive typed, looked up on the rate card. Entity and contact stay blank until a Manager or Account Executive fills them.
  • Each Work Request matches a team by the longest area-path prefix. A flat tag (case-insensitive) wins over hourly: Price is the flat rate and Hours is blank. Effort is ignored on flats.
  • Teams on the Team control come from the pulled Azure id. Only teams that appear on that Work Request, Feature Request, or Epic are listed. An Epic or Feature Request with more than one team can be estimated as the whole thing or as a subset of those teams.
  • Hourly lines: Hours = Effort as a single number. Price = Hours × rate. UI is $95/hr, UX is $97/hr, else the team default / path.
  • Two flat tags on one Work Request, or both UI and UX hourly tags: stop and ask the Manager or Account Executive. Do not compute $ for that line.
  • The PDF is the A&M estimate form (same chrome as Ignacio's invoice, titled ESTIMATE). Mixed-team grouping is for Epics, or a rare Feature Request with more than one team. A partial team filter is noted on the estimate; the filename stays WR-/FR-/Epic-{id}-estimate.pdf. Parent stays on this draft screen only and is not printed on the estimate.
  • Manual: no Azure. Choose a team, then a priced hourly or flat option for that team, then a business area. Type hours for hourly rates (no Fibonacci). A flat uses the flat amount and leaves hours blank. The PDF filename is Estimate-{title}.pdf.