admin-projects

Update Order Placed Override

Set or CLEAR the TRUE order-placed date on a project's payment (D1).

The edit-anytime correction affordance for on-behalf orders (manual reconciliation + upload-PO-on-behalf), where the Payment row was created at the admin's processing time rather than the real order date. The admin sends a calendar order_placed_at → stored UTC-noon as Payment.order_placed_at_override; sending null CLEARS the override so the order-placed clock reverts to the derived created_at / paid_at.

Because derive_order_placed_at is the single chokepoint, the change propagates to every read consumer (admin list/detail, the customer's view, the sell-side ETA). Returns the fully-populated payment detail response (same shape as the detail endpoint). A project with no payment row returns 404. Requires payments:create.

patch/api/v1/admin/projects/{project_id}/payment

Path parameters

project_idstring uuid required

Request body

order_placed_atstring date nullable

Response

Successful Response

idstring uuid required
project_idstring uuid required
quote_idstring uuid required
user_idstring uuid required
methodstring required
statusstring required
amountstring required
total_with_taxstring nullable
deposit_amountstring nullable
currencystring required
stripe_payment_intent_idstring nullable
po_numberstring nullable
po_document_r2_keystring nullable
po_document_download_urlstring nullable
shipping_addressstring nullable
notesstring nullable
paid_atstring date-time nullable
created_atstring date-time required
updated_atstring date-time required
project_namestring required
customer_namestring required
customer_emailstring required
customer_billing_addressstring nullable
submitted_by_admin_idstring uuid nullable
submitted_by_labelstring nullable
payment_terms_net_daysinteger nullable
order_placed_at_overridestring date-time nullable
order_placed_atstring date-time nullable

Changes

No recorded changes to this endpoint across all 1 revision of this API.