Skip to content

Issue a Quote (Commercial Proposal)

This recipe creates a commercial proposal for a customer, fills in line items, sets an expiry date, and sends it. It also covers quote statuses and what the customer sees.

Prerequisites

Steps

Part A: Create the quote

Step 1. Go to MIDDAG Account > Quotes in the admin sidebar.

Step 2. Click New Quote.

Step 3. Select the target Organization from the dropdown. The billing entity auto-fills from the Organization's configuration.

Step 4. Verify the Billing Entity (MIDDAG BR or MIDDAG GLOBAL). This determines the currency (BRL or USD) and which Stripe account will process the payment if the quote is accepted.

Step 5. Optionally, add a Quote Title or reference number for internal tracking.

Part B: Add line items

Step 6. Click Add Line Item.

Step 7. Search for a WooCommerce product and select it. The price auto-fills from the product.

Step 8. Set the quantity.

Step 9. Optionally, adjust the unit price for this quote (e.g., negotiated discount). The original product price is shown for reference.

Step 10. Repeat steps 6-9 for each product or service you want to include.

Step 11. Review the Total at the bottom. Taxes and discounts are calculated automatically based on the billing entity's tax rules.

Part C: Set terms and send

Step 12. Set the Valid Until date. Default is 30 days from today. Adjust if the customer needs more or less time.

Step 13. Add any Terms and Conditions text or notes visible to the customer (optional).

Step 14. Click Save as Draft to save without sending.

Step 15. Review the quote details. When ready, click Send to Customer.

Step 16. The quote status changes from draft to sent. The system sends an email to the Organization's primary contact with a link to view the quote in the portal.

Part D: Monitor the quote

Step 17. Back on the Quotes list, you can track the status:

StatusMeaning
draftSaved but not yet sent to the customer.
sentDelivered to the customer's portal. Awaiting their action.
viewedThe customer opened the quote. Transitions automatically on open.
acceptedCustomer accepted. WooCommerce order creation begins.
rejectedCustomer rejected with a stated reason.
expiredThe Valid Until date passed without customer action.
paidPayment confirmed. Entitlement provisioning begins.
fulfilledEntitlement created and all downstream resources provisioned.

Step 18. If the quote is expired, you can click Re-send to generate a new validity period and re-deliver to the customer.

Step 19. If the quote is rejected, review the customer's reason (visible in the quote detail) and create a new quote with adjusted terms if needed.

What the customer sees

  • The customer logs in to the portal and navigates to Quotes.
  • They see all quotes for their Organization with status and amounts.
  • Opening a quote shows line items, totals, terms, and the Valid Until date.
  • They can add comments (thread-style) for negotiation.
  • When ready, they click Accept Quote and proceed to payment.

Expected result

  • A quote exists in sent status, visible to the customer in the portal.
  • Line items, pricing, and validity dates are correct.
  • The customer can view, comment on, accept, or reject the quote from the portal.
  • If accepted, the system automatically creates a WooCommerce order and directs the customer to payment.

Further reading