Deep Space (Platform)Jul 20, 2026

What Got Shipped Today - 20/7/26

Published: 20 July 2026 We build this platform with you, not just for you. If something here changes how you work, or if there is something you still need, tell us through the feedback portal inside the platform. Every request is read, and the best ones end up here. Another push across the platform. Commercial teams get margin they can finally see, notice chains now carry their whole payload forward, approved POs can be pulled back to draft when something needs fixing, and site crews get location lists that know which job they are standing on. Here is what landed. Features Margin as its own line in the Budget Register As a commercial manager, my builder's margin was buried inside the sell price with no code of its own, so my revised budget always read short. Now I can choose to show margin as a coded line that reconciles to the sell. Before. Deep Space calculated margin embedded in the sell price. On a scope line you set a cost rate and a markup or margin percent, and the margin sat as the invisible difference between cost and sell with no cost code of its own. Because it never became a coded line, it never appeared in the Budget Register, so the revised budget read short by exactly the margin. After. A new company setting under Commercial lets you pick your margin method: Embedded (the default, unchanged) or Cost-coded. In Cost-coded mode you nominate a single margin cost code, and every scope item with margin now posts two coded rows to the Budget Register, the cost against the line's own cost code and the margin against your nominated margin code. The Add Scope Item modal and the Scope Item Detail view surface the margin cost code so you can see exactly where the margin will land, and the register reconciles cleanly to the head contract sell. It also carries through to HC Variations, so variation margin lands as its own coded row too. Impact. Builders who track tender and variation margin as a visible, coded value can now see it where they expect it, without leaving the platform to reconcile a budget by hand. Known limitations. The setting is company-level with a single nominated margin code (per-project and per-line margin codes are not in this release). The method is stamped on each scope item at entry, so existing records are never rewritten, and Embedded remains the default. Flip a project mid-way and you will see a mix: items entered before the switch stay embedded, items entered after are split. One behaviour worth knowing: if a scope item has no cost code, neither its cost nor its margin posts to the Budget Register. Margin is a companion to the cost line, so it cannot post on its own without breaking the cost plus margin equals sell reconciliation. Notice chains that carry the whole package As a builder issuing an instruction off the back of a closed RFI, I used to send a bare directive with none of the context the answer was built on. Now the attachments, the content and a reference to where it came from travel with the notice automatically. Before. When a closed RFI (or CAN) triggered a downstream notice such as an SI, CI or VO, only the relationship carried across. The new notice arrived with just the freshly typed body. No source attachments, no prefilled content, and the outbound PDF and email made no mention of the notice it came from. After. Every edge that creates a downstream notice now carries the payload. Source attachments, including those on the accepted closing response the instruction is usually issued off, snapshot onto the new draft and stay editable before you issue. Subject and body prefill from the source. And the outbound notice document and email carry an "In reference to" origin line with the source number and subject, so a recipient outside the platform sees the provenance without logging in. Impact. The instruction lands with its full context attached: the marked-up drawing, the SK detail, the answer it was built on. Fewer follow-ups, a cleaner audit trail, and provenance that travels all the way to the subbie's inbox. Project-scoped Location lists in DS Site As a site user logging a defect or incident on my phone, I used to scroll one giant global list of every location across every project. Now I pick my project, and the location list shows only that project's rooms, levels and areas. Before. Location fields in DS Site forms drew from a single global list. On a builder with ten projects and forty-plus locations each, that meant scrolling hundreds of unrelated entries and risking the wrong pick. After. Location is now a dependent dropdown. Choose the project first and the location field enables and scopes itself to that project only. Change the project and the location clears and re-scopes. A project with no locations yet shows a clear "No locations found for this project" state instead of a broken field. Built for mobile first, with web as the secondary surface. Impact. Faster, more accurate logging in the field, and a pattern that will carry across defects, incidents, permits and inspections as the field workflows grow. Revert an approved PO back to draft As a PM or commercial manager, once a purchase order was approved I had no way to send it back to fix a wrong cost code or supplier, so I had to ask support to reverse it on the backend. Now I can revert it myself, as long as nothing downstream has locked it. Before. Once a purchase order was approved, it was stuck. Fixing a wrong cost code, supplier, quantity or line item meant asking support for a manual backend reversal, which is slow and does not scale. After. An approved PO now shows a Revert to Draft action, available to the PO's original creator or an admin. Reverting revokes the completed approval, returns the PO to an editable draft, and notifies everyone who approved it, the drafter and the highest-authority holders. A reason is mandatory and captured for the audit trail. Resubmitting simply starts a fresh approval. The action locks itself the moment money is committed. Once an invoice exists against the PO, or the PO has been pushed to Xero, the Revert to Draft button is disabled with a clear reason. Impact. Commercial teams can fix their own mistakes within a safe boundary, without a support ticket, while the commercial trail stays locked the moment money has actually moved. Revise and Resubmit an approved invoice As a finance or admin user, when an approved invoice or subcontractor claim went out with the wrong detail, I had no clean way to pull it back short of deleting the record and losing the history. Now I can reverse it into a tracked Revise and Resubmit state and send it back for correction. Before. Once an invoice or subcontractor claim was approved and pushed to Xero, correcting it meant deleting the record, which destroyed the audit trail, or living with the error. After. The Invoice Register now supports a Revise and Resubmit action for any approved, unpaid record. Reversing it deletes the linked Xero bill, backs the committed and actual amounts out of the Budget Register, and moves the record to a distinct Revise and Resubmit status (not a plain draft, so the history of approved, sent, then pulled back stays visible). The record routes back to the original owner to correct and resubmit through the full approval chain. Voiding the bill in Xero reaches the same state. Once a record has been paid, reversal is blocked, the path then is a credit note. Impact. Finance and admin can correct a mistake on an approved invoice without deleting the record or losing the trail, and the budget numbers stay honest because the commitment backs out until the corrected version is resubmitted. Improvements Set GST treatment for a whole PO in one click As someone processing a GST-free purchase order, I had to toggle every single line by hand. Now one control sets the whole document. Before. GST could be set per line, but there was no top-level control. A purchase order or variation that was entirely GST-free meant toggling each line individually, which is slow and easy to get wrong. After. A document-level GST treatment control now sits at the top of the line items on both the purchase order and the variation: GST on all lines, or GST-free on all lines. One click sets every line. The per-line option remains as the override, and the header reads "Mixed, set per line" when you override a single line. New lines inherit the document's current treatment. Impact. Whole-document GST treatment takes one action instead of many, and it flows through to Xero correctly so GST is reported accurately. Weighted totals on every pipeline stage As a BD lead scanning the pipeline, I could see the gross dollars in each stage but had no quick read on the probability-adjusted number, which is the one that actually matters for forecasting. Before. Each pipeline stage column showed only its raw total. The probability-weighted figure existed at the workspace level but never broke down by stage, so reading it per stage meant flipping to the list view and doing mental maths. After. Every stage column footer now shows both numbers: the raw total and the weighted total (estimated value times probability). The stage-level weighted figures sum to the workspace weighted total shown at the top, giving a clean cross-check.Impact. The difference between a stage's gross number and its probability-weighted number is the difference between a misleading figure and a decision-ready one. That breakdown is now in front of you at a glance. See a recipient's email on hover As a builder chasing a response, I could see a recipient's email when I issued a notice but not afterward. Now I hover the company in the response rail and the email is right there. Before. Once a notice was issued, the For Response rail showed the company but not the contact's email, so confirming who exactly had been chased meant digging elsewhere. After. Hover any company in the For Response section and its recipient contact name and email appear inline. Impact. Quick confirmation of who was contacted, without leaving the screen. Match invoices to a company in the inbox As someone coding incoming invoices, I used to pick a loose vendor in the inbox that did not always tie back to a real company record. Now I select the company directly, so every invoice links to the right entity. Before. The invoice inbox asked you to choose a vendor when assigning an incoming invoice, a selection that did not map cleanly to your company directory. After. The invoice inbox now asks you to select a Company from your directory, so the incoming invoice ties directly to that company record. Impact. Invoices line up with the companies you already hold in Deep Space, keeping matching, reporting and payment history consistent. Fixes Reducing a PO now reduces the PO Before. Adding a new negative line to a purchase order variation worked, but modifying an existing line downward in modify mode added to the PO total instead of subtracting from it, producing a wrong revised value. After. Modify-mode reductions now count as deltas against the original line, so reducing a value decreases the PO total and the revised value reconciles. Impact. You can trim a commitment to the value actually used and release the difference as savings, without raising a full variation or fighting the maths. Subcontract fields now update when you change contract type Before. When editing an existing subcontract, changing the contract profile did not reveal the standard-form fields tied to that profile. The create screen showed them, but the edit screen jumped straight past to Country and State, so the selected profile's fields were never shown or captured. After. The edit subcontract screen now behaves like the create screen. Selecting an NZS 3910 or 3916 profile surfaces the SA2017 specific conditions, selecting QBCC SC-1 surfaces the SC-1 schedule and annexures, and switching profiles hydrates and clears the dependent fields correctly. Impact. Editing a subcontract's contract type is now a first-class action, with the right conditions and schedules always in view.

How do you feel about this update?

Tap a face to rate