DuplicateEstimateForCustomerInput
Copies an estimate and all its lines onto another customer, optionally re-pricing. The copy is created as a fresh DRAFT at revision 1, not linked to the source as a revision.
Estimate to copy, as an EstimateID TypeID (e.g. "est_01K…"). Must exist in the caller's tenant. The source estimate is never modified.
Customer the copy is issued to, as a CustomerID TypeID (e.g. "cus_01K…"). Required — this is the point of the macro, so it is not inherited from the source estimate.
Optional contact at the new customer, as a ContactID TypeID (e.g. "con_01K…"). NOT inherited from the source estimate: leaving it null leaves the copy without a contact.
Optional billing address for the copy, as an AddressID TypeID (e.g. "adr_01K…"). NOT inherited from the source estimate: leaving it null leaves the copy without a billing address.
estimateNumberStringEstimate number for the copy. Defaults to the source estimate's number with a "-COPY" suffix. Not checked for uniqueness here.
adjustPricePercentFloatPercentage applied to every copied line's unit price: +10 raises prices by 10%, -5 discounts by 5%. Line totals, subtotal, tax and total are recomputed from the adjusted unit prices. Null or 0 copies prices unchanged. Existing per-line discounts are copied as-is and not re-applied.
notesStringCustomer-facing notes for the copy. Defaults to the source estimate's notes when null. The copy's internal notes are always overwritten with a "Duplicated from …" provenance line.
View exact SDL
"""
Copies an estimate and all its lines onto another customer, optionally re-pricing. The copy is created as a fresh DRAFT at revision 1, not linked to the source as a revision.
"""
input DuplicateEstimateForCustomerInput {
"""
Estimate to copy, as an EstimateID TypeID (e.g. "est_01K…"). Must exist in the caller's tenant. The source estimate is never modified.
"""
estimateId: EstimateID!
"""
Customer the copy is issued to, as a CustomerID TypeID (e.g. "cus_01K…"). Required — this is the point of the macro, so it is not inherited from the source estimate.
"""
customerId: CustomerID!
"""
Optional contact at the new customer, as a ContactID TypeID (e.g. "con_01K…"). NOT inherited from the source estimate: leaving it null leaves the copy without a contact.
"""
contactId: ContactID
"""
Optional billing address for the copy, as an AddressID TypeID (e.g. "adr_01K…"). NOT inherited from the source estimate: leaving it null leaves the copy without a billing address.
"""
billingAddressId: AddressID
"""
Estimate number for the copy. Defaults to the source estimate's number with a "-COPY" suffix. Not checked for uniqueness here.
"""
estimateNumber: String
"""
Percentage applied to every copied line's unit price: +10 raises prices by 10%, -5 discounts by 5%. Line totals, subtotal, tax and total are recomputed from the adjusted unit prices. Null or 0 copies prices unchanged. Existing per-line discounts are copied as-is and not re-applied.
"""
adjustPricePercent: Float
"""
Customer-facing notes for the copy. Defaults to the source estimate's notes when null. The copy's internal notes are always overwritten with a "Duplicated from …" provenance line.
"""
notes: String
}One stable address across all schema views. Follow a field’s type to explore connections between domains.