NewOrgCustomerInput
input type
Create-input for an OrgCustomer. The tenant (org group) is derived SERVER-SIDE from the principal; organizationId (the parent org) and corporateCustomerId are tenant-scoped server-side and must be active (STRICT); ≤1 live selection per (org × cc) via the pair marker (CONFLICT/IDENTITY_TAKEN names a live holder; a doomed one is taken over). Every terms field is optional (the enablement stays creatable thin); creditLimit/orderMinimum must match the org's defaultCurrency (an org with NO defaultCurrency cannot store OrgCustomer money — CONFLICT/REF_STATE naming the absence, the order-create precedent); customerPriceGroupId gates in-tenant + ACTIVE; priceListId gates in-tenant + ACTIVE + the scope law (a scoped list must name THIS OrgCustomer); billTo/shipTo gate non-doomed + host-membership. ⚠ the AR custody fields (arBalanceMinor/arCurrency) are SYSTEM-maintained and NOT creatable.
Fields
| Field | Type | Required | Notes |
|---|---|---|---|
caption | String | no | Optional: when omitted the per-type default applies — the merchant code when given, else 'Org Customer'; when supplied it must be non-blank. |
organizationId | ID ID! | yes | The parent Organization id — rides the header. |
corporateCustomerId | ID ID! | yes | The group CorporateCustomer this enablement names — immutable after birth. |
accountNumber | String | no | No further notes. |
paymentTerms | String | no | The canned payment-terms token (net-30 · 2-10-net-30 · cod · prepaid). |
creditLimit | MoneyEntryInput | no | Must match the org's defaultCurrency (the sell-side currency law). |
orderMinimum | MoneyEntryInput | no | Same currency law. |
customerPriceGroupId | ID | no | No further notes. |
priceListId | ID | no | The contract/book carrier. |
billToContactId | ID | no | No further notes. |
shipToContactId | ID | no | No further notes. |
code | String | no | No further notes. |