Skip to content

Data seams

Data seams

Rebind any contract in a service provider. The three host seams are empty by default (deny-by-default).

SalesLedger (required for economic nexus)

Your cumulative sales/transactions into each state, over the state's measuring period. This is the seller's side of the equation — the package cannot know it.

use Cbox\Nexus\Contracts\SalesLedger;
use Cbox\Nexus\ValueObjects\SellerActivity;
use Cbox\Geo\ValueObjects\SubdivisionCode;

app()->singleton(SalesLedger::class, fn () => new class implements SalesLedger {
    public function activityFor(SubdivisionCode $state): ?SellerActivity { /* from invoices */ }
});

PhysicalNexus

States where the seller has an office, employees or inventory (e.g. FBA) — a nexus trigger on its own. Host-asserted.

NexusRegistrations

States the seller already holds a registration in, so a handled obligation reports as Registered rather than an outstanding action.

NexusThresholdSource

Defaults to the us-tax-data dataset. Rebind it to pin a different dataset copy or supply thresholds from elsewhere; a state it doesn't carry returns null (deny-by-default).