Business validation and KYB rules
The KYB rules each business type must satisfy and the checks PCE runs at submit time
Every business you create is validated as a whole before PCE saves it. This page owns the rules that shape a create payload: the KYB rules each businessType must satisfy, and the create-time checks it runs atomically. The exact messages these produce are on API error handling; requirements judged later in review are on Underwriting exceptions.
Submit-time validation
PCE validates the whole graph atomically at create time. If any check fails, the request returns an error and no business is created. Send the corrected request. Common submit-time checks:
- Required fields are present and correctly typed (
REQUIRED,INVALID_TYPE). - Enum fields carry an allowed value (
INVALID_ENUM_VALUE). - Totals reconcile, such as owner ownership that cannot exceed 100 (
SUM_MISMATCH). - Tax and routing numbers are well-formed (
INVALID_FORMAT).
Requirements that can only be judged during underwriting appear after creation on each service's missingFields, missingDocuments, and errors, and through status. See Status lifecycle.
KYB rules that shape a payload
A few fields drive the validations PCE enforces at create time:
| Rule | What the contract requires |
|---|---|
Business type (businessType) | One of c_corporation, s_corporation, llc, single_member_llc, llp, partnership, sole_proprietor, government, nonprofit, or tax_exempt_501c3. Values are not case-sensitive, and common alternatives are accepted (for example corporation for c_corporation). Required to activate card processing (payin.card). |
Ownership (ownershipPercentage) | A share from 0 to 100, with up to two decimal places. The total across all owners cannot exceed 100. For a partnership, the beneficial owners' combined ownership must total at least 50%. For government, nonprofit, and tax-exempt businesses, use 0. |
Control person (isControlPerson) | Exactly one owner or signatory across the business must be the control person, independent of how much they own. That person must have an SSN or ITIN. |
Tax identity (taxIds, governmentIds) | A business tax ID is one of ein, ssn, or itin. Corporations, S-corporations, LLCs, LLPs, and partnerships must use an ein; sole proprietors and single-member LLCs may use ssn or itin. Each owner or signatory's individual needs a primary ID (SSN or ITIN) and a secondary government ID (drivers_license, passport, or alien_registration_card). |
Control person tax ID must match (sole proprietor and single-member LLC)
For a sole_proprietor or single_member_llc, the control person's tax ID must match the business's own tax ID when both are an SSN or ITIN. This is not a submit-time check: a mismatch still returns 201 Created, then blocks the service during review. Read the business and inspect services.payin.card:
- Match:
errorsis empty. - Mismatch: a
mandatoryentry onservices.payin.card.errors, with the same field path also listed inmissingFields.
{
"level": "mandatory",
"actual": "xxxxx1947",
"message": "For sole proprietor / single-member LLC the Control Person tax id number must match the legal entity tax id number when both are SSN or ITIN.",
"fieldPath": "owners[0].taxId.value"
}Correct either value so the two match, then read the service again. See Underwriting exceptions for how service errors are reported.
See also
- Create a business: the composite create these rules validate
- API error handling: the submit-time messages each rule produces
- Underwriting exceptions: requirements judged in review, after creation
- Owners and signatories: the people the identity and control-person rules apply to
Updated 9 days ago