Customers#
The customer master (Customer) is every entity we sell to. Records the identity, addresses, contacts, payment methods, and financial defaults used by Sales Orders, Ship Bills, and AR.
Key attributes#
- Identity: customer number, name, tax IDs.
- Financial: currency, payment terms, default AR account, credit limit, hold flags.
- Contacts: bill-to, ship-to, general (
CContact). - Pay methods:
CustomerPayMethodsHelper — ACH, check, credit card, wire tokens. - Contracted pricing:
SalesPriceList links. - Sales rep:
RFQSalesRepHelper handles rep assignment.
| Helper | Purpose |
|---|
CustomerHelper | Master CRUD. |
CustomerLineItemHelper | Customer-specific part / assembly overrides. |
CustomerPayMethodsHelper | Payment methods and tokens. |
CustomerSupplierLinkHelper | Reconciles records when a customer is also a supplier. |
CContactHelper | Contacts. |
CustomerImport/ | Bulk import. |
Business rules#
- Credit hold blocks new SO release; it does not block shipping already-released orders (business decision — override with permission).
- Currency change on a customer with any open SO / unpaid AR is blocked.
- Contact deactivation checks whether the contact is referenced as a billing or shipping contact on open documents before allowing it.
Where it lives#
| Layer | File |
|---|
| Controller | CustomersController, CustomerInfoController, CustomerImportController, CustomerPayMethodsController, CContactsController |
| Helper | CustomerHelper.cs, CustomerLineItemHelper.cs, CustomerPayMethodsHelper.cs, CustomerSupplierLinkHelper.cs, CContactHelper.cs, MnxEFModel/Helper/CustomerImport/ |
| Related | Sales Orders, AR |