The approved bills API can be used to send billing data from Printerpoint to an external ERP system, like Quickbooks, MS NAV, Thorougbred, Profits21, Sage or others.
After pending bills have been approved inside Printerpoint, they become available through the API. The ERP integration can read the bill data, and send a response back to let Printerpoint know it has been collected.
Some examples of billing data that can be sent through through the API:
- Customer details (customer name, contact, customer ID)
- Contract date period
- Printer details (name, serial, asset ID, location)
- Contract details
- Monthly base charge and SKU
- Monthly included minimum usage per billing SKU
- Billing SKU per print category/meter type
- Monthly usage per SKU
- Lifetime usage per SKU
- Cost per SKU
- Monthly subtotal
- Tax rate/total
- Total cost
This provides a lot of flexibility for the information different ERP systems may need. For example, one ERP may just want customer ID, printer asset ID and total cost. Another ERP may need the individual meter SKU quantities. The API is designed to be very flexible.
An interactive document for all Printerpoint API calls is available here: https://printerpoint.com/apis/swagger/index.html
Getting a list of approved bills
The Approved Bills endpoint returns a list of approved bills sorted by bill number in ascending order. Up to N bills will be returned at a time and the 'next' link in the returned page can be used to get additional bills.
The bill number and line item IDs can be used with other endpoints to make changes to the bill. The line item ID should be treated as an opaque string and passed without parsing or modification to other endpoints.
HTTP GET
https://printerpoint.com/apis/v1/dealer/bills/approved-bills
Response sample:
{
"links": {
"next": "https://example.com/next/page"
},
"results": [
{
"billNumber": 17,
"customerCompanyName": "Customer, Inc",
"customerCompanyId": "ABCZ586",
"billingPeriodStartedOnInclusive": "2020-08-13T16:47:27-05",
"billingPeriodEndedOnInclusive": "2020-08-13T16:47:27-05",
"printerGroups": [
{
"name": "San Francisco",
"printers": [
{
"nickname": "First floor Canon",
"serialNumber": "jkl69643",
"assetId": "4634qwe",
"baseCharge": 37.42,
"baseChargeSku": "SKl69643",
"isLifetimeCounterBilling": true,
"lineItems": [
{
"description": "Low Density Images (ft²)",
"sku": "SKU123",
"unit": 0,
"startQuantity": 137.42,
"endQuantity": 637.42,
"quantity": 537.42,
"includedQuantity": 100,
"finalQuantity": 437.42,
"total": 580.82
}
],
"total": 4437.42
}
],
"taxRate": 6.75,
"taxTotal": 238.42,
"preTaxTotal": 4199,
"total": 4437.42
}
],
"taxTotal": 238.42,
"preTaxTotal": 4199,
"total": 4437.42
}
]
}
Posting approved bills
The Mark as Posted endpoint allows marking approved bills as posted. Bill number is passed as a parameter appended to the endpoint URL. Once posted, it will change its status from Approved to Posted, and will be displayed as ‘Posted’ in Printerpoint Manager. The bill will no longer be included in the list of Approved bills.
HTTP POST
https://printerpoint.com/apis/v1/dealer/bills/approved-bills/mark-as-posted?billNumber=1
Response sample:
200 OK
0 Comments