Pulley
Help CenterDev DocsBlogChangelog
← All articles
← All articles

Getting Started

  • Add a Dashboard Widget

Contacts & Customers

  • Add a Contact
  • Send a Request for Proposal to a Subcontractor

Jobs, Tasks & Scheduling

  • Create a Job
  • Create a Schedule Entry
  • Create an Estimate from a Job
  • Create an Invoice from a Job
  • Edit a Task
  • Manage Team Availability
  • View Declined Jobs

Estimates, Invoices & Change Orders

  • Approve a Change Order (Client View)
  • Build and Edit an Estimate
  • Create a Change Order
  • Create a New Estimate
  • Create an Invoice
  • Create an Invoice with the Wizard
  • Edit a Change Order
  • View the Estimate Linked to an Invoice

Warranties & Reports

  • Create a Custom Warranty
  • Export a Report to CSV
  • Generate a Discover Report
  • Set the Standard Warranty

Settings & Templates

  • Add a Cost to the Cost Library
  • Add an SDK Site

Edit a Change Order

Edit a Change Order

Start by creating a contact to build the chain of records we need. Wait for the new contact form to load. Enter the contact's name.

Watch the demo (15 seconds)

Read transcript · Download captions

Overview

Start by creating a contact to build the chain of records we need. Wait for the new contact form to load. Enter the contact's name. Add a contact email so we can later send the change order. Save the new contact. Confirm the contact was created. Now create a job for that contact. Wait for the new job form. Give the job a title. Create the job. Confirm the job exists. Create an estimate for this job. Wait for the estimate form. Title the estimate. Save the estimate. Confirm the estimate was created. Return to the estimates list to find the new estimate's id. Wait for the estimate row to appear. Open the estimate detail page. Confirm the estimate detail view loaded. Go back to estimates list to navigate to change orders via known route. Wait for the list. Re-open the estimate. Wait for the estimate page to load. Follow the link to this estimate's change orders. Wait for the change orders index page. Begin a new change order. Wait for the change order builder. Provide an initial reason for the change order. Save the draft change order. Confirm the draft change order was created. Open the change order in edit mode. Wait for the edit view to load. Append updated wording to the reason field. Add a richer description for the change. Add a new line item to the change order. Describe the new line item. Save the edited change order. Confirm the change order detail view reflects the edits.

Steps: 42 · Time to complete: ~15 seconds · Difficulty: hard

Prerequisites

  • Access to the Edit a Change Order feature.

Steps

Step 1 — Navigate to /contacts/new · 0:00

Start by creating a contact to build the chain of records we need.

Step 1: Start by creating a contact to build the chain of records we need.

▶ Watch this step · Try it →

Step 2 — Wait for form · 0:05

Wait for the new contact form to load.

▶ Watch this step · Try it →

Step 3 — Type into input[name='name'] · 0:08

Enter the contact's name.

Click 'New Estimate' to begin

▶ Watch this step · Try it →

Step 4 — Type into input[name='email'] · 0:10

Add a contact email so we can later send the change order.

▶ Watch this step · Try it →

Step 5 — Click button[type='submit'] · 0:00

Save the new contact.

▶ Watch this step · Try it →

Step 6 — Wait for text="Acme Renovations" · 0:00

Confirm the contact was created.

▶ Watch this step · Try it →

Step 7 — Navigate to /jobs/new · 0:00

Now create a job for that contact.

▶ Watch this step · Try it →

Step 8 — Wait for form · 0:00

Wait for the new job form.

▶ Watch this step · Try it →

Step 9 — Type into input[name='title'] · 0:00

Give the job a title.

▶ Watch this step · Try it →

Step 10 — Click button[type='submit'] · 0:00

Create the job.

▶ Watch this step · Try it →

Step 11 — Wait for text="Kitchen Remodel" · 0:00

Confirm the job exists.

▶ Watch this step · Try it →

Step 12 — Navigate to /estimates/new · 0:00

Create an estimate for this job.

▶ Watch this step · Try it →

Step 13 — Wait for form · 0:00

Wait for the estimate form.

▶ Watch this step · Try it →

Step 14 — Type into input[name='title'] · 0:00

Title the estimate.

▶ Watch this step · Try it →

Step 15 — Click button[type='submit'] · 0:00

Save the estimate.

▶ Watch this step · Try it →

Step 16 — Wait for text="Initial Estimate" · 0:00

Confirm the estimate was created.

▶ Watch this step · Try it →

Step 17 — Navigate to /estimates · 0:00

Return to the estimates list to find the new estimate's id.

▶ Watch this step · Try it →

Step 18 — Wait for text="Initial Estimate" · 0:00

Wait for the estimate row to appear.

▶ Watch this step · Try it →

Step 19 — Click a:has-text("Initial Estimate") · 0:00

Open the estimate detail page.

▶ Watch this step · Try it →

Step 20 — Wait for text="Initial Estimate" · 0:00

Confirm the estimate detail view loaded.

▶ Watch this step · Try it →

Step 21 — Screenshot: estimate_detail · 0:00

Screenshot: estimate_detail.

▶ Watch this step

Step 22 — Navigate to /estimates · 0:00

Go back to estimates list to navigate to change orders via known route.

▶ Watch this step · Try it →

Step 23 — Wait for text="Initial Estimate" · 0:00

Wait for the list.

▶ Watch this step · Try it →

Step 24 — Click a:has-text("Initial Estimate") · 0:00

Re-open the estimate.

▶ Watch this step · Try it →

Step 25 — Wait for h1 · 0:00

Wait for the estimate page to load.

▶ Watch this step · Try it →

Step 26 — Click a[href*='/change-orders'] · 0:00

Follow the link to this estimate's change orders.

▶ Watch this step · Try it →

Step 27 — Wait for h1 · 0:00

Wait for the change orders index page.

▶ Watch this step · Try it →

Step 28 — Click a[href*='/change-orders/new'] · 0:00

Begin a new change order.

▶ Watch this step · Try it →

Step 29 — Wait for form · 0:00

Wait for the change order builder.

▶ Watch this step · Try it →

Step 30 — Type into input[name='reason'] · 0:00

Provide an initial reason for the change order.

▶ Watch this step · Try it →

Step 31 — Click button:has-text("Save") · 0:00

Save the draft change order.

▶ Watch this step · Try it →

Step 32 — Wait for text="CO-" · 0:00

Confirm the draft change order was created.

▶ Watch this step · Try it →

Step 33 — Click a:has-text("Edit") · 0:00

Open the change order in edit mode.

▶ Watch this step · Try it →

Step 34 — Wait for h1:has-text("Edit CO-") · 0:00

Wait for the edit view to load.

▶ Watch this step · Try it →

Step 35 — Screenshot: change_order_edit_view · 0:00

Screenshot: change_order_edit_view.

▶ Watch this step

Step 36 — Type into input[name='reason'] · 0:00

Append updated wording to the reason field.

▶ Watch this step · Try it →

Step 37 — Type into textarea[name='description'] · 0:00

Add a richer description for the change.

▶ Watch this step · Try it →

Step 38 — Click button:has-text("Add Line Item") · 0:00

Add a new line item to the change order.

▶ Watch this step · Try it →

Step 39 — Type into input[name='description'] · 0:00

Describe the new line item.

▶ Watch this step · Try it →

Step 40 — Click button:has-text("Save") · 0:00

Save the edited change order.

▶ Watch this step · Try it →

Step 41 — Wait for text="CO-" · 0:00

Confirm the change order detail view reflects the edits.

▶ Watch this step · Try it →

Step 42 — Screenshot: change_order_after_edit · 0:00

Screenshot: change_order_after_edit.

▶ Watch this step

Expected outcome

Confirm the change order detail view reflects the edits.

Assets

  • 📹 Full video — 15 seconds
  • 📝 Plain transcript
  • 🎬 Captions (WebVTT)
  • 🖼️ Thumbnail
On the blog
Change orders should bend, not break
Editable change orders mean a typo, a missed line item, or a clearer reason doesn't force you to start over. Here's why we made the change order a living document.
Read the post →