/
BI
bilflo
/
Bilflo.Api
Search skmtc…
⌘K
Docs
Sign in
Sign in
APIs
Generators
Stacks
Projects
Docs
History
Schema
Sources
Checked 2h ago · Updated 1w ago
View markdown
bilflo
Bilflo.Api
get
/int/v1/erp2/lookups/pay-bill-items
OpenAPI 3.0.1
2026-08-06
208
355
659.3 KB
bcdbca776df0
Clients
25
Companies
1
CompanySettings
10
CompanySignUp
3
Connect
2
ContractJobs
8
Contractors
11
CustomFields
4
Customizations
1
Dashboards
12
Diagnostics
3
DirectHires
4
Employees
2
Entities
6
Erp2CompanyEvents
1
Erp2Lookups
9
get
/int/v1/erp2/lookups/pay-bill-items
get
ERP-5865 — workers' comp codes for the caller's staffing company. The route already existed at GET /v1/CompanySettings/workersCompCodes, but that one is [Authorize] (user JWT), so the HMAC integration principal could never call it and the WORKERS_COMP_CODE feed had never populated a single row. Re-exposing it here puts it on the same signed footing as every other ERP2 lookup instead of widening the JWT endpoint's auth. Same MediatR query the JWT controller uses, so there is one implementation, not two.
get
ERP-5865 — overtime rules, including StateCode. This is the one lookup that WAS populating in ERP2, and only because GET /v1/OvertimeRules answers 200 with no credential at all. Serving it here means closing that hole does not also take the feed down. Same MediatR query, so one implementation. StateCode is carried through deliberately: ERP2's mirror discards it today, leaving state recoverable only by parsing the display label ("3 12s (CA)"), which is not always present ("9/80"). See ERP-5864.
get
ERP-5865 — timecard methods. No HTTP surface existed for these at all: they were reachable only internally via ILookupQueryable.GetTimecardMethods (dbo.DbLookupRepo_GetAllTimeCardMethods), which is why the TIMECARD_METHOD feed was empty and a live sync landed ContractJob 58859 with a null time collection method. These are GLOBAL rows, not per-company — the SP takes no company parameter. The endpoint is still authenticated per integration so it is not an open list.
get
ERP-5865 — contractor types (W2 / 1099). There is no table and no endpoint for these on the legacy side: the values ARE the Contracts.Contracts.Enums.ContractorType enum, stored as ContractJob.ContractorTypeId. Served from the enum so the ids can never drift from what the receiver actually writes — a lookup table would be a second source of truth for a two-value list.
get
ERP-5894 — per-diem calculations. Like timecard methods these had no HTTP surface at all: reachable only through ILookupQueryable (dbo.DbLookupRepo_GetAllPerDiemCalculations), so ERP2 could never offer a recruiter the real list and ContractJob.PerDiemCalculationId had to be typed in as a raw integer or left null. Global rows, not per-company — the SP takes no company parameter — but still authenticated per integration so this is not an open list.
get
ERP-5894 — per-diem collection methods (dbo.DbPerDiemCollectionMethodRepo_GetAll). `approverTypeId` is carried through because it drives who may approve the per diem, which the JobApprover build already depends on.
get
ERP-5894 — expenses collection methods (dbo.DbExpensesCollectionMethodRepo_GetAll).
get
ERP-5987 — invoice groups, so ERP2's AUTO_ADD_TO_SPECIFIC billing-profile mode has something to point at. Unlike every other feed here, these are per-CLIENT, not per-company: company 25 alone has 895 groups across 348 clients. `clientId` is therefore carried on every row so a selector can filter — a flat list of 895 is not a dropdown anyone can use. Company-scoped rather than taking a client parameter because the ERP2 mirror caches per tenant, not per client, and a per-client feed would mean one request per client on every refresh. Filtering client-side off one cached list is the cheaper shape.
Erp2Webhook
1
Everee
1
FieldMappings
4
JobAdder
1
Layouts
3
Notifications
1
OAuth
4
OvertimeRules
1
PayBillItem
2
PayBillItemDetail
2
PayCodes
5
PrismHR
8
Processors
1
Query Engine
3
Reports
1
Subscriptions
2
Transactions
7
Users
16
Webhook
2
Workflows
41
Erp2Lookups
get
/int/v1/erp2/lookups/pay-bill-items
Headers
company-id
string
required
Response
Success