Skip to content
Tutorial

Keep the amount owed and the cost of delivery clear.

Understand invoices, payment collection, remaining balances, and the project’s cost worksheet.

Screenshots use example records. Select any image to enlarge it. Your company’s fields, permissions, and configuration may differ.

Separate the financial records

The contract value describes the approved work. A payment schedule describes billing milestones. An invoice requests an amount from the customer, and a receipt records a payment. Job costs record what it costs to deliver the work. These values answer different questions and do not all change when a customer pays.

Check collection readiness

An administrator connects the company’s Stripe account in Stripe payments settings. Review the displayed account, mode, and readiness before collecting. Test mode does not collect real money; test receipts can still affect balances and reports in the workspace where they are recorded. Live collection requires the appropriate account and enabled payment capabilities.

Collect against an invoice

Where Stripe collection is enabled, use the invoice’s payment workflow.

  1. Check the customer, project, issued invoice, and remaining balance.
  2. Create the supported Stripe payment link and share it through the appropriate customer workflow. The current Connect checkout collects the remaining issued invoice balance in USD by card.
  3. Wait for a confirmed provider result and check the receipt and updated balance in Soffyt. Returning from checkout alone is not proof that payment completed.
  4. If the result is unclear, review the existing payment before creating a second request or entering a manual receipt.

Find invoices in the mobile workflow

Where mobile collection is available, open a calendar event to collect against an attached invoice. If the invoice was not attached, open the project from CRM and review its existing invoices. Your role and the company’s collection readiness govern access. Check the balance and wait for confirmed payment before marking the work paid.

Handle adjustments and refunds carefully

A signed change order can update the remaining payment plan while retaining issued invoices and recorded receipts. Check all three records after an adjustment. Refunds update balances after Stripe confirms them; pending refunds and disputes are separate states. A cost entry does not pay a supplier, and these records do not replace your general ledger.

Review Job Costing

Open the project’s Job Costing tab with the appropriate cost permissions. Review saved costs from accepted quote items and add delivery costs such as labor, materials, permits, equipment, or office time. Costs support fixed amounts, quantity multiplied by unit cost, and a percentage of sold value. Total Job Profit is the project’s sold value minus its tracked costs, not cash collected.

  1. Open the project’s Job Costing tab. Choose + New cost → Create new cost. Enter a cost name and category, select its calculation, and review the amount and Cost total before choosing Add cost.

    This example records a $350 building permit as a fixed cost. Adding it tracks a project expense; it does not pay a vendor.

    This example records a $350 building permit as a fixed cost. Adding it tracks a project expense; it does not pay a vendor.

    Full resolution ↗
    This example records a $350 building permit as a fixed cost. Adding it tracks a project expense; it does not pay a vendor.

Reuse costs without overwriting a job

Maintain reusable costs, bundles, and Job Type defaults in Price Book. Matching defaults are copied into project cost rows. Project adjustments remain separate from the library, and editing a library cost does not overwrite existing project rows. Changing a selling-price allocation in the cost worksheet does not change a signed contract.

People behind the platform

Let’s get you to the right place.

Questions about Soffyt? We’re here to help.

Contact support