Important — Test Before You Bulk Upload ⚠️
Before importing a large file, always test with a single record first. There is no quick undo for imported invoices — once they are in the system, each one must be deleted manually. Audit your entire file for formatting errors before uploading in bulk.
Importing Invoices into Sharper
The invoice import lets you create multiple invoices at once by uploading a spreadsheet (.xlsx file) instead of entering each invoice by hand. This is useful for bulk billing, data migrations, or recurring charges across many customers.
Before You Start
Make sure the following are already set up in Sharper before filling out your import file:
Customers — each customer must exist in Sharper and their name must match exactly
Products/Services (Items) — every line item you want to bill must already be set up as an active Product or Service in Sharper
Payment Terms — any payment term you reference must already exist in Sharper
Tax Codes — any tax code you reference must already be configured
If any of these are missing, those rows will fail to import.
Getting the Template
Go to CRM → Invoices
Click the Import button
Select Get Template to download the Excel file
Fill out the template and save it as an .xlsx file
Click Import again, then upload your completed file
Field Reference
Each row in the spreadsheet is one line item. If an invoice has multiple line items, use one row per line item and repeat the customer name and invoice date on each row.
Column | Required | What to Enter |
DisplayName | Yes | The customer's name exactly as it appears in Sharper (e.g., Smith, John or Bayside Marina LLC) |
PaymentTerm | No | The payment term name (e.g., Net 30, Due on Receipt). Leave blank to use the customer's default. |
Note | No | A memo or note that will appear on the invoice |
InvoiceDate | Yes | The invoice date — format must be |
DueDate | No | The payment due date — same format ( |
ItemId | Yes | The ID number of the Product or Service being billed — see Finding Your Item ID below |
Description | No | A description for this line item. If left blank, uses the product's default description. |
Tax Code | No | The tax code to apply (e.g., TAX or EXEMPT) |
Tax Rate | No | The tax rate as a number (e.g., |
Subtotal | No | The pre-tax amount for this line item |
Total | No | The total amount including tax |
ReceivableAccount | No | The Accounts Receivable account to post to. Leave blank to use your default AR account. |
Vessel ID | No | The ID of the vessel to link to this invoice (if applicable) |
Vessel Name | No | The name of the vessel (if applicable) |
Auto Pay | No | Enter |
Finding Your Item ID
The Item ID is the most important field to get right — if it is wrong or missing, that row will not import.
Products in Sharper are organized by module — where you find your product list depends on which module the items belong to (for example, Marina, Storage, Service, and so on). Navigate to the Products & Services list within the relevant module to look up your IDs.
To find your Item IDs:
Go to the Products & Services list for the module you are billing from
Find the product or service you want to bill
The ID column shows the number to use in your import file
Tip: The easiest way to build your import file is to export or view your product list first, then copy the IDs directly into the ItemId column. This avoids typos and mismatches.
If a product you need does not appear in the list, it may be inactive. A user with access to Products & Services can reactivate it before you import.
Tips for a Successful Import
Date format matters — use
m/d/Ywith no leading zeros (e.g.,4/28/2026not04/28/2026)Names must match exactly — the DisplayName field is case-sensitive and must be identical to what is in Sharper
One row = one line item — multi-line invoices need multiple rows; repeat the DisplayName and InvoiceDate on each row
Always test first — upload a single-row file before running your full import to confirm your formatting is correct
Check your results — after uploading, Sharper shows how many rows imported successfully and lists any rows that failed with a reason
