MPM Document Standard 1.3, mpmdoc build engine, templates for TN, INS, SOP, BOM, SVY, TAP, DWG, TSB, PRO, SOW and WO (Chinese editions for TN and DWG), glossary, MPM fonts and logos, and the mpm-technical-documents plugin 1.3.0. Worked examples ship in the kit zip on Drive only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NWatTMmqmGatgHjDZvWs5b
71 lines
4.7 KiB
Python
71 lines
4.7 KiB
Python
"""TEMPLATE — Statement of Work (SOW). Copy this folder to <PROJECT>/source/ and fill it in.
|
||
|
||
The contractual scope after award: what MPM delivers, how, and the payment milestones. Follows the
|
||
layout of SOW_Nashville_Replacement_Sign_S01012 (Aug 2026). 2–6 pages.
|
||
See MPM_Document_Standard.md §9.10.
|
||
|
||
Order: masthead (Customer · Quotation) → opening paragraph (parties, MSA, end customer, quotation)
|
||
→ 1.0 Scope overview → 2.0 Project deliverables (2.1 hardware + 2.1.1 priced BOM, 2.2 documentation)
|
||
→ 3.0 Scope of work (3.1 initiation … 3.n warranty) → 4.0 Project milestones → 5.0 Assumptions and
|
||
exclusions → [6.0 Acceptance: signatures, when the customer signs the SOW itself] → Revision history
|
||
Rules: prices come from the quotation; milestones(expect=doc.price_total) fails the build if the milestones
|
||
don't add up. Draft 0.x while negotiating; 1.0 = executed.
|
||
"""
|
||
import sys, pathlib
|
||
HERE = pathlib.Path(__file__).resolve().parent
|
||
sys.path.insert(0, str(next(p / "_STANDARDS" for p in HERE.parents if (p / "_STANDARDS").is_dir())))
|
||
|
||
from mpmdoc import Doc
|
||
|
||
doc = Doc(
|
||
number="SOW-MPM-SUBJ-01", rev="0.1", date="2026-11-06", customer="Partner", subject="Project",
|
||
title="Project Name",
|
||
lede="Statement of work for the scope, at the site, for the end customer.",
|
||
meta=[("Customer", "Partner, for End Customer"), ("Quotation", "S00000")],
|
||
slug="Customer_Project_SOW",
|
||
history=[("0.1", "2026-11-06", "Initial draft.")],
|
||
)
|
||
|
||
doc.add(
|
||
doc.p("This Statement of Work (SOW) is made by and between <b>Partner</b> (Customer) and <b>Message Point Media of "
|
||
"Alabama, Inc</b> (MPM), and is subject to the Master Services Agreement between Customer and MPM, whose "
|
||
"provisions are incorporated except as amended here. The work is for the benefit of <b>End Customer</b>. "
|
||
"Pricing is per MPM Quotation S00000, dated Nov 6, 2026 (expires Feb 4, 2027)."),
|
||
doc.section("1.0 Scope overview"),
|
||
doc.p("What MPM will provide, in one paragraph. Say what is <i>not</i> included when a reader might assume it is."),
|
||
doc.section("2.0 Project deliverables"),
|
||
doc.sub("2.1 Hardware deliverables"),
|
||
doc.p("MPM will procure, provision and deliver all hardware needed for the work, including:"),
|
||
doc.bullets(["Item, with the specification that matters (pitch, size, rating)."]),
|
||
doc.sub("2.1.1 Bill of materials (per Quotation S00000)"),
|
||
doc.priced([
|
||
("Hardware subtotal", [("SKU-0000", "Hardware item", 1, 10000.00), ("MNT-0000", "Mounting and bracket budget", 1, 500.00)]),
|
||
("Installation subtotal", [("SVC-INST", "Installation", 1, 2500.00)]),
|
||
]),
|
||
doc.sub("2.2 Documentation deliverables"),
|
||
doc.table([("Document", "", "32%"), ("Purpose", "")],
|
||
[["Installation Completion Report", "Confirms installation, configuration and operational verification"],
|
||
["As-built update", "Records serial numbers and redline changes"]]),
|
||
doc.section("3.0 Scope of work"),
|
||
doc.sub("3.1 Project initiation and scheduling"),
|
||
doc.p("Within ten (10) business days of award, MPM confirms points of contact, site access and the installation window."),
|
||
doc.sub("3.2 Site confirmation"), doc.p("How site conditions are confirmed, and what happens if they differ."),
|
||
doc.sub("3.3 Hardware procurement and provisioning"), doc.p("Procurement, provisioning and QA testing before delivery."),
|
||
doc.sub("3.4 Hardware delivery"), doc.p("Shipment as directed by Customer."),
|
||
doc.sub("3.5 Installation"), doc.p("Installation, configuration, content assignment. Responsibilities for power and network."),
|
||
doc.sub("3.6 Operational verification"), doc.p("Online, reporting to MP.TV, displaying assigned content."),
|
||
doc.sub("3.7 Warranty"), doc.p("MPM standard Equipment Warranty Policy (name the policy), starting at End Customer approval."),
|
||
doc.section("4.0 Project milestones"),
|
||
doc.milestones([("Production deposit", "Due on contract execution", "25% of hardware", 2625.00),
|
||
("Equipment delivery", "All hardware delivered to site", "75% of hardware", 7875.00),
|
||
("Installation completion", "Installed, verified operational, accepted", "100% of installation", 2500.00)],
|
||
expect=doc.price_total),
|
||
doc.section("5.0 Assumptions and exclusions"),
|
||
doc.bullets(["Existing power and network remain in place; changes to them are the End Customer's responsibility.",
|
||
"Excludes permits, civil work and licensing unless listed in §2."]),
|
||
doc.section("6.0 Acceptance"),
|
||
doc.signatures([("Customer", "Name, title · date"), ("Message Point Media", "Jason Stedwell, Director of Technical Services · date")]),
|
||
)
|
||
|
||
doc.build()
|