Sandbox vs Production

The BILL API Platform capabilities (BILL v3 API and BILL Elements) are available in two distinct development environments: Sandbox and Production.

Each environment is purpose-built to support different phases of your application development, from early testing to live operations. In this section, we explain the operational, security, and functional differences between these environments.

Development environments

The BILL sandbox and production environments provide consistent interfaces for core BILL operations (such as creating a vendor and paying a vendor), but each environment serves different purposes.

Sandbox for testing

Optimized for iterative testing without financial impact (no money movement). Uses simulated data & mock workflows.

Production for live operations

Optimized for reliability, security, & transaction finality. Enforces strict data integrity & supports real money movement.

Platform services URLs

Sandbox
Production

Service levels & reliability

Sandbox
  • No SLAs: Availability & performance may vary.
  • Disruptions: You may experience occasional errors or downtime.
  • Updates: Deployments occur at least 2 times a day (typically morning or afternoon PT).
Production

Supports live financial workflows with real money movement.

This environment is backed by SLAs that guarantee stability, uptime, & responsiveness.

Operational capabilities

Most BILL core capabilities work identically in both environments. BILL excludes specific capabilities from sandbox to preserve security and platform integrity.

Sandbox limitations

  • Money movement: You cannot process real transactions involving actual bank accounts.
  • Accounting system integrations: Connections to accounting system platforms (such as QuickBooks & NetSuite) are not supported.

Payment processing

Sandbox

System timers drive status changes to simulate the lifecycle. Status change timing may not exactly match the experience in production.

Production

Payment statuses are driven by real-world banking workflows, cutoffs, & clearing logic.

Webhook events

Sandbox

Webhooks use synthetic values & are not tied to real transactions.

  • Dynamic allowlisting is not supported.
  • You can use public testing tools (such as webhook.site or Pipedream) for local testing.
Production

Webhooks deliver live event notifications directly to your secure infrastructure. BILL coordinates an allowlist setup to ensure traffic is securely routed to your verified endpoints.

Verification workflows

The BILL verification workflows differ significantly between environments to enable rapid testing without the need to submit sensitive real-world data.

Sandbox

Risk decisions (APPROVED, REVIEW, or DECLINED) are simulated based on specific test inputs.

Production

BILL compliance infrastructure reviews organizations based on actual user data.

BILL Network vendor auto-connection

BILL Network vendor auto-connection behavior differs between environments.

Sandbox

In sandbox, BILL uses a smaller set of test vendors to simulate the connection process.

Production

In production, BILL uses the full BILL Network for real-time vendor matching.

NOTE: Use vendor connections in sandbox to test your integration logic, and not to replicate exact production behavior.

In both environments, vendor connections follow a specific timeline.

  • First connection: When a new organization attempts to connect with a vendor for the first time, the connection status is Pending for 3-days with an expected connection date.
  • Subsequent connections: After the first connection is established, future eligible vendors connect almost instantly.

Test data for sandbox integrations

In this section, we list test data that you can use for testing your integrations in sandbox.

Organization risk status (KYC/KYB)

Use specific inputs to trigger organization KYC/KYB risk outcomes.

KYC/KYB workflow

Field requirement

SSN/EIN range (within the Onboarding Element) and status

KYC Flow (Individual/Sole Proprietorship)

User name: Prefix the user’s first name with MOCK while creating the user.

City: Prefix with MOCK user’s city followed by the status (for example, MOCKdecline as the city to simulate a Declined status)

NOTE: These prefixes are case-insensitive.

SSN Ranges:

From 676543100 To 676543200 (Approved)

From 676544100 To 676544200 (Review)

From 676545100 To 676545200 (Declined)

KYB Flow (All other business types)

Business name: Prefix with MOCK.

City: Prefix with MOCK user’s city followed by the status (for example, MOCKdecline as the city to simulate a Declined status)

NOTE: These prefixes are case-insensitive.

EIN Ranges:

From 676543300 To 676543400 (Approved)

From 676544300 To 676544400 (Review)

From 676545300 To 676545400 (Declined)

Vendor network test scenarios

Use specific inputs to simulate connection types. The endpoint POST /connect/v3/vendors is the same, but the input values determine the behavior in Sandbox.

Auto-connected vendor

Validate automatic vendor connection via address-based matching.

curl --location 'https://gateway.stage.bill.com/connect/v3/vendors' \
--header 'sessionId: {{sessionId}}' \
--header 'devKey: {{devKey}} \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data-raw '{
  "name": "BPBRstage1 new",
  "address": {
    "line1": "113 Salinas Court",
    "city": "Palo Alto",
    "stateOrProvince": "TX",
    "zipOrPostalCode": "75013",
    "country": "US"
  }
  }'

Bill Recipient (BR) vendor

Validate search and connection behavior for vendors set up to receive bills. Search this vendor’s name in the BILL network search widget or via the API.

vendorName: BPBRstage1 new
addressCity: "Antonetteport"
addressCountry: "United States"
addressLine1: "74006 Jaylen Hill"
addressLine2: null
addressState: "CO"
addressZip: "60406-7362"

Validate search and connection for vendors set up to issue invoices or receive payments. Search this vendor’s name in the BILL network search widget or via the API.

vendorName:BPBRstage1 new
addressCity: "Erichside"
addressCountry: "United States"
addressLine1: "96412 Pollich Centers"
addressLine2: null
addressState: "WV"
addressZip: "02958-7168"

RPPS vendor (Mastercard Bill Pay Network)

Simulate vendor matching through Mastercard RPPS; RPPS in Sandbox is mocked and does not represent true Mastercard routing behavior. Search this vendor’s name in the BILL network search widget or via the API.

Name: A T C Communications
Account Number: 123456

Virtual card (VCard) vendor

Validate payment routing to a virtual card-enabled vendor. Search this vendor’s name in the BILL network search widget or via the API.

vendorName = vdbr5
AddressLine1: vdbr5
AddressLine2: test vdbr5
addressCity: santa clara
addressState: California [CA]
addressZip: 94087