Skip to main content
Best Practices

From won quote to delivered order

After a quote is approved, move the opportunity, create fulfillment in the PSA by hand, order products if procurement is on, ship to the customer, and keep Autotask, ConnectWise, or HaloPSA in step.

Written By Mike Forte

Last updated About 1 hour ago

Winning the quote is not the same as delivering the order. Approval closes the sale in Salesbuildr and updates the opportunity in your Professional Services Automation (PSA) system. Fulfillment β€” the ticket, sales order, purchase order, and shipment β€” is a separate handoff that you start on purpose.

This article is the path after the customer says yes. How to keep the deal moving before approval is in Follow up on quotes and manage your pipeline. How to assemble the proposal is in Quoting best practices for new quoters.

Do the work in this order:

  1. Confirm the opportunity moved with the approved quote, and that the PSA has the won deal.
  2. Create fulfillment in the PSA β€” Create ticket (Autotask, ConnectWise) or Create sales order (HaloPSA). This is never automatic.
  3. If procurement is on, group pending product lines into purchase orders and place them with distributors.
  4. Receive items (including serial numbers), then ship or drop-ship to the customer.
  5. Leave the rest of delivery in the PSA β€” each PSA writes different records.

You can have one PSA connected at a time: Autotask, ConnectWise, or HaloPSA.

1. What happens when the quote is approved

When the last required approver accepts the quote (the customer on the proposal, or you approving on their behalf), the quote status becomes Approved. That is the commercial close.

Salesbuildr then updates the opportunity and pushes that change to the PSA. It does not create a fulfillment ticket or HaloPSA sales order.

The opportunity stage moves

Only the primary quote (the starred quote on the opportunity) drives the pipeline.

Admins map quote status to opportunity stage at Settings β†’ Opportunities β†’ Settings β†’ Quote Stages Map With Opportunity Stages. For Approved, pick the pipeline stage and opportunity status you use for a won deal (often Closed / Closed, or Implemented if that is how you mark delivery).

If that Approved row is empty, the opportunity stays where it was. You then move the stage by hand β€” or wait until you create a fulfillment ticket, which has its own mapping (below).

You cannot Lose an opportunity that already has an approved quote. An approved quote cannot be retracted. If the customer cancels after approving, do not click Create ticket or Create sales order; if procurement is on, Dismiss the pending items so they are not ordered.

The PSA gets the won deal

When the opportunity saves after the stage mapping, Salesbuildr pushes that opportunity to the connected PSA. The quote itself was typically already in the PSA from send; approval updates the quote status there.

What comes back later depends on the PSA β€” Autotask on a scheduled pull, ConnectWise on callbacks plus a short delayed pull, HaloPSA on a scheduled pull. A stage change in Halo does not approve the quote. Always approve in Salesbuildr. Detail: Follow up on quotes and manage your pipeline.

If procurement is enabled for your workspace, approved product lines also become pending items automatically β€” see If procurement is enabled. Services, labor, bundle parents, and products marked Does not require procurement do not.

2. Create fulfillment in the PSA β€” this is manual

Approving the quote does not open work in Autotask, ConnectWise, or HaloPSA. Someone on your team still clicks Create ticket or Create sales order on the approved quote.

That click is how delivery, purchasing, or project teams find the work in the system they already use. Do it when the quote is Approved and you are ready to hand off β€” not before the customer has accepted, and not if you are still changing lines (retract first).

When to click Create ticket or Create sales order

  1. Open Quotes, filter Status β†’ Approved, and open the quote. Or open it from the opportunity.
  2. In the quote actions panel, click:
    • Create ticket β€” Autotask or ConnectWise
    • Create sales order β€” HaloPSA
  3. Select the line items that belong on this handoff. You can create more than one ticket or sales order from the same quote, with a different selection each time. Each line can sit on only one ticket.
  4. Fill the fields for your PSA (below) and confirm.

The button stays available after the first ticket so you can split hardware from a later add-on, or split sites. It is missing or disabled when the quote is not approved, ticket settings are incomplete, or every selectable line is already on a ticket. Admins configure defaults under the PSA integration β€” Fulfillment Tickets.

A separate mapping at Settings β†’ Opportunities β†’ Settings β†’ Opportunity stages after a ticket created from a quote moves the opportunity again when you create that ticket. That move is skipped when the quote includes any service line, so those deals do not close before implementation is finished. On Autotask, the create dialog then warns that you still need to close or update the opportunity in Autotask yourself.

Which line items to include

Pick the lines the fulfillment team should act on now. Leave off lines you will ticket later, or services you will add to a contract instead.

PSAButtonWhat you can selectWhat happens to other lines
AutotaskCreate ticketProduct lines become ticket charges. Product add-ons under a service or labor parent stay selectable.Service and labor rows appear greyed out under Not added as ticket charges. Add services to an Autotask contract from the quote sidebar (Add items to contract). Labor sets estimated hours on the ticket; it is not a charge.
ConnectWiseCreate ticketProduct lines become ticket charges (including flattened bundle components).Service and labor rows are not listed as charges.
HaloPSACreate sales orderEvery selected line that has a linked HaloPSA product β€” products, services, labor, bundle products, and enabled add-ons.A selected line with no Halo product link fails the whole sales order. Sync or link those products first, then retry. Quote shipping is not a sales-order line.

On Autotask and ConnectWise, set estimated hours and a due date. On HaloPSA you can set a title, date, and internal note.

If the quote has a PO number before approval, it carries onto the ticket or sales order. If it is empty, that field is sent empty.

After confirm, Salesbuildr creates the ticket (or Halo sales order) and syncs it to the PSA in the background. Open External links on the quote if you need the PSA record. Once that link is there, edit the work in the PSA β€” Salesbuildr locks the ticket.

Full dialog fields and Autotask charge statuses: Fulfillment Tickets.

3. If procurement is enabled

If your workspace has procurement, approved product lines appear on Procurement β†’ Pending items without another click. That list is what you still have to order. On the approved quote, Pending order items opens the same work. Creating the PSA ticket and grouping a purchase order are independent β€” do both when the deal needs fulfillment and purchasing.

Services, labor, bundle parents, zero-quantity lines, and products with Does not require procurement never appear as pending items. Pax8-linked subscriptions do, so the subscription can be placed through Pax8.

Group pending items into purchase orders

  1. Open Procurement β†’ Pending items.
  2. Review the list. Dismiss lines you will not buy (warehouse stock, items you fulfill another way). Dismissing can also set Does not require procurement on the product so later quotes do not add it again.
  3. Select lines for the same distributor and Create order, or Add to order on an existing draft purchase order for that distributor. You can combine lines from more than one approved quote on one order.
  4. Open Procurement β†’ Orders and check distributor, ship-to, and whether the order is Wholesale (to your site) or Dropship (to the customer).

If the order total matches an approval rule at Settings β†’ Procurement β†’ Approvals, it sits in Awaiting approval until the named approver acts. The person who created the order cannot approve it.

Place the order with the distributor

On the order, click Place an order. Choose how it leaves Salesbuildr:

  • API β€” sends the order to a supported distributor (Ingram Micro, TD Synnex, Pax8, and others configured for ordering). The distributor’s order number is stored on the order.
  • Email β€” generates a purchase-order PDF and emails it to the distributor address you have configured.
  • Mark as submitted β€” you already placed it by phone or in the distributor portal. Optionally store a link to that external PO.
  • Skip distributor submission β€” sync to the PSA only. Use this for an internal or warehouse distributor.

Distributor prices on the order can differ from the quote β€” the quote is what the customer paid; the procurement view shows the live distributor cost so you can decide whether to proceed. Credentials and market setup: Ordering from Distributors.

Placing the order is what creates a purchase order in the PSA when that PSA supports it (Autotask and HaloPSA). Approval of the quote does not.

Receive items, including serial numbers

As stock arrives, open the order and Items received. Enter the quantity and serial numbers for this receipt.

The order moves to Partial when some quantity is still outstanding, and Completed when every line is fully received. You do not close it by hand.

Serial numbers are typed in at receipt β€” Salesbuildr does not pull them from the distributor. Receiving syncs to Autotask purchase-order lines and to HaloPSA stock (and serialized assets when the product has an asset type). ConnectWise receiving stays in Salesbuildr.

Statuses, drop-ship rules, and the full workflow: Procurement.

4. Shipping and delivery to the customer

Decide where the goods go before you place the purchase order, and how the customer was charged for freight on the quote.

Address and shipping on the quote

Companies can have several delivery addresses (Companies β†’ company β†’ Edit β†’ Addresses). The quote uses the default delivery address unless the customer changed it on the proposal (when Allow recipient to update shipping address is on).

Shipping types live at Settings β†’ Quotes β†’ Shipping. The send dialog can add a shipping type as its own charge. Category or company defaults can pre-select it. That charge is what the customer approved β€” it is not a carrier booking in Salesbuildr.

After the win

  • Dropship on the purchase order β€” the distributor ships to the customer’s delivery address. Confirm that address on the order before you place it. Adding lines from a second quote to the same order turns drop-ship off and falls back to the order or company address; split those quotes onto two orders if they must ship to different sites.
  • Wholesale β€” the distributor ships to you. Receive in Salesbuildr, stage or configure, then ship to the customer with your usual process.

Salesbuildr records receipt and, where the PSA allows it, writes receiving or stock. It does not pick a carrier, print a label, or pull tracking for every distributor (TD Synnex order status is polled; others are not). Book the outbound shipment in the distributor portal or your warehouse process.

On Autotask, ticket charges use statuses such as Need to Order/Fulfill, On Order, Ready to Deliver/Ship, and Delivered/Shipped Full. Treat Delivered/Shipped Full as the customer having the goods.

Autotask can also add quote shipping as a separate ticket charge (billing code from the Autotask shipping type). ConnectWise can carry shipping as an opportunity product; it is not a separate ticket charge. HaloPSA does not put the shipping type or freight on the sales order β€” look on the Halo quotation if a shipping product is mapped, or add a regular catalog line if fulfillment needs to see freight.

Configure types and thresholds: Shipping.

5. Keep the PSA updated β€” what each PSA creates

The quote and opportunity updates in section 1 happen on approval. Everything below happens when you Create ticket / Create sales order, or when you Place an order in procurement.

What you do in SalesbuildrAutotaskConnectWiseHaloPSA
Create ticket / Create sales orderService ticket plus ticket charges (product lines: cost, sell, quantity, product link). Internal note and a Quote Link attachment. Quote shipping can be its own charge.Service ticket plus charges β€” selected product lines convert to ticket line items. The ticket description is the Salesbuildr description; the internal note is a separate ConnectWise internal analysis note.Sales order with line items (not a ticket), linked to the Halo quotation and opportunity. Internal note is a CRM note.
Place a purchase order (procurement)Purchase order in Autotask (header and lines, vendor from the distributor) when Enable procurement is on under Settings β†’ Integrations β†’ Autotask β†’ Purchase Order. Inventory location and distributor mapping must be set.No purchase order in ConnectWise. The PO lives in Salesbuildr. You can still submit it to the distributor by API or email.Purchase order in Halo, linked to the supplier and the sales order. All lines on one Halo PO must be for a single company. The distributor must be a Halo supplier.
Items receivedReceiving records on the Autotask PO (quantity, serial number, date).Tracked in Salesbuildr only.Stock records (quantity, cost, supplier). Serialized asset records when the product has a linked asset type.

Without a PSA, procurement still creates and tracks purchase orders in Salesbuildr. Nothing is written outside Salesbuildr.

Autotask is the most complete post-sale write: ticket, charges, purchase order, and receiving. It does not create a sales order or add products to a project β€” use Autotask’s own won-opportunity tools if you need a project. Recurring services are not purchased through procurement; add them to an Autotask contract from the quote.

ConnectWise fulfillment is the service ticket and its charges. Do not expect a ConnectWise Purchasing PO from Salesbuildr.

HaloPSA fulfillment is the sales order, then the purchase order and stock or assets when you place and receive in procurement.

If the Salesbuildr ticket exists but the PSA does not, wait for sync and check External links. Fix mapping or listing on a failed Autotask charge and retry that line β€” you do not need to recreate the ticket.

See also