Importing Order Payments from a CSV File
After you bring your sales history into BarSight, the orders still need to show whether they were paid. The Import Payments CSV tool records a payment against each order that is already in BarSight, so your paid orders match your records. It reads a simple file, shows you a preview of which orders it found, and then adds the payments.
Before You Start
- The orders must already be in BarSight. Payments are only recorded against existing orders. If you are bringing in your history, import the orders first. See Importing Brewery Orders.
- You need full access to the Orders page. The import options only appear for people who have it.
- Have the amount received for each order. This tool records money that was already collected somewhere else. It does not charge anyone.
What the Import Does and Does Not Do
- It adds one payment to each matching order. Every payment is recorded with the first payment type in your list, which is Cash unless you have renamed it.
- It only records rows marked paid. Failed or unpaid rows in your file are skipped, so you can leave them in.
- It does not handle partial payments or refunds. See When the Payment Is Less Than the Order below.
- It does not update payments you already have. An order that already has a paid payment is skipped, which makes it safe to run the same file again.
- It does not create orders or customers. A row that does not match an order is skipped.
Step 1: Prepare Your CSV File
The quickest way to get the format right is to start from our sample file. It holds a payment for each of the five orders in the sample file from the orders import guide, so you can try the two together.
Open it in your spreadsheet program, replace the example rows with your own payments, and save it as a CSV again. Keep the first row as it is, because BarSight uses it to work out which column is which.
Columns BarSight Recognizes
Headings must be typed exactly as shown, including capital letters. Column order does not matter, and if two columns would map to the same field the one furthest left is used.
| Column Heading | Required? | What to Enter |
|---|---|---|
Customer |
Yes | The customer's name, spelled the same as in BarSight. Buyer also works as a heading. |
Order Number |
Yes | The order's number. Reference Number also works as a heading. |
Date |
Yes | The order's date, which must be the date the order has in BarSight. 2026-01-12 is safest. Slash dates like 1/12/2026 are read the same way the orders import reads them. Order Date also works as a heading. |
Payment Amount or Total |
Yes | The amount received, as a number such as 752.50. A $ sign and thousands commas are fine. If your file has both columns, Payment Amount is used and Total is ignored. |
Payment Status |
Yes | Whether the payment went through. See below. |
Payment Date |
No | The day the money was received. If a cell is blank, or the column is missing, the payment is dated the same day as the order. A date BarSight cannot read causes that row to be skipped. |
Sales Rep |
No | An employee's email address, full name, or first name. The payment, and the order, are credited to that employee. A first name only works when exactly one employee has it. If nobody matches, the payment is credited to the person importing. |
Other headings the importer recognizes, such as Discount, Tax1, Tax2, Tax3, GST, BC PST, Deposit, Government Deposit, Adjustment and Id, are accepted but not used for payments.
[SCREENSHOT: The sample CSV open in Excel with the header row highlighted]
Payment Status
Only rows marked as paid are recorded. A row counts as paid when the Payment Status is one of these words, in any capitalization, or a number above zero:
paid,overpaid,yes,trueorsuccess- a number above zero, such as
1
Anything else is skipped. That includes unpaid, partially_paid, failure, declined and an empty cell. This is useful because some systems list every attempt to take a payment, successful or not. The failed attempts are ignored and the successful one is recorded.
One Payment Per Order
BarSight records one payment per order. If your file has more than one paid row for the same order, only the first is recorded and the rest are skipped, and the preview tells you so. If an order was paid in several instalments, combine them into one row with the total received.
When the Payment Is Less Than the Order
BarSight compares the amount with the order's total. What happens next depends on which is bigger:
- The payment matches or is more than the order. The payment is recorded as it is.
- The payment is less than the order. BarSight treats the difference as an after-the-fact discount. It adds a credit called Discount to the order for the difference and lowers the order's total to the amount you were paid.
That means this tool is not suited to partial payments. Leave those rows out of the file, and record them in BarSight by hand. If an order's total in BarSight is not what you expect, check it before you import, because the comparison is made against the total BarSight holds.
How BarSight Finds the Order
- It looks for orders belonging to a customer with that exact name. If you have two customers with the same name, both are searched.
- It looks for an order with that order number on that date. An exact number match wins. If none is exact, an order whose number contains your number is used, but only when there is just one. If several orders could match, the row is skipped and the preview says to use the full order number.
- Voided orders are ignored, and so are orders that already have a paid payment.
Step 2: Upload the File
- Navigate to Brewery → Orders.
- Open the Settings menu in the toolbar and choose Import Payments CSV.
- In the Import Payments window, choose your file under CSV File.
- Click Upload.
[SCREENSHOT: Orders page Settings menu open with Import Payments CSV highlighted]
Step 3: Review the Preview
BarSight shows your file as a table before anything is saved. Above the table, a summary tells you how many payments will be recorded and how many rows will be skipped. Column headings show the name each one was matched to, and a column it could not match says -Unused-.
If the file is missing a column the import needs, you are told which one and nothing can be imported until you add it.
The first column, Match, tells you what will happen to each row. Hover over a cell to read the reason.
| Match | What it means |
|---|---|
| Matched | BarSight found one unpaid order for that customer with that order number and date. The payment will be recorded. The hover text also warns if the amount is below the order total, and says how large the Discount credit will be. |
| Already Paid | The order already has a paid payment, so the row will be skipped. |
| No match | No customer or order was found. The hover text says what did not agree, for example that the order is dated differently in BarSight. |
| Skipped | The row cannot be used. The hover text gives the reason: the Payment Status is not paid, the customer or order number is blank, a date or the amount cannot be read, several orders could match, or an earlier row already pays the same order. |
[SCREENSHOT: Import preview showing the summary line, a Matched row, an Already Paid row and a Skipped row with the hover text visible]
If anything looks wrong, close the window, fix your file and upload it again. Nothing has been saved yet. The Import into Database button only appears when at least one row can be recorded.
Step 4: Import
- Click Import into Database at the top of the preview.
- BarSight records the payments and returns you to the Orders page with a message such as "Recorded 5 payments, skipped 3 rows."
- Open a few of the orders and check that the payment appears.
BarSight checks every row again as it imports, so clicking the button twice cannot pay an order twice. Each payment is labelled with text like Imported payment of $752.50 to order #123, so you can recognize imported payments later. The number after the # is BarSight's own order id and not your order number.
If You Use QuickBooks
If your account sends orders to QuickBooks, a paid payment is queued to be sent to QuickBooks as well, once its order has been sent. If those payments are already recorded in QuickBooks, contact BarSight support before you import so we can mark them as already handled and avoid double entries.
Moving From Another System
If you are switching from another brewery system, you need an export that shows what was paid on each order. Check the preview for -Unused- headings, because exports from other systems change over time.
From Ollie
Use Ollie's payments export, not its sales export. It already uses headings BarSight recognizes, so you can upload it as it is.
| Ollie Column | What Happens |
|---|---|
Reference Number, Order Date, Buyer, Sales Rep, Payment Date, Payment Status |
Recognized automatically, as the order number, order date, customer, sales rep, payment date and payment status. |
Payment Amount |
Used as the amount received. It is read in preference to Total, which is the whole order. |
License Number, Customer Type, Discount, GST, BC PST, Government Deposit, Adjustment, Total |
Recognized, but not used for payments. |
Everything else, including Payment Type, Payment Decline, Payment Refund Status and Payment Refunded Amount |
Ignored and shown as -Unused-. That is expected. |
- Failed attempts. Ollie lists each attempt to take a payment on its own row, with a
Payment Statusofsuccessorfailure. The failures are skipped and the success is recorded, so there is nothing to delete first. - Payment type. Every payment is recorded as your first payment type, whether Ollie shows it as offline or electronic.
- Refunds. A refunded payment is still imported at its full amount, and the refund details are ignored. Record refunds in BarSight afterwards. See Order Refunds and Returns.
- Amounts. Ollie writes amounts like
$1,234.50, which BarSight reads correctly.
From Ekos
The Ekos sales export we have seen lists what was sold and does not include payment information, so it cannot be used for this import. Export a paid invoices or payments report from Ekos instead, and name the columns using the headings above. The importer does not accept the sales export's Number, Company or Delivery Date headings, so rename them to Order Number, Customer and Date.
Ollie and Ekos are trademarks of their respective owners. BarSight is not affiliated with or endorsed by either company. Their names are used here only to describe which files this importer can read.
Tips and Best Practices
- Import orders before payments, and keep the details identical. The customer name, order number and order date in your payments file must match the orders you imported.
- Use the full order number. If a number could match more than one order, the row is skipped rather than guessed, so a complete number saves you a re-upload.
- Include a Payment Date column. Your payments will then carry the day the money arrived and not the order date, which keeps your payment history accurate.
- Compare totals before you upload. Put your amounts next to the order totals in BarSight. Any row that is lower will create a Discount credit.
- Read the summary line. If the number of payments to record is not what you expected, hover over the Skipped and No match rows to find out why.
- Keep the original export. You will want it if you need to compare what BarSight recorded with what you started with.
Troubleshooting
Problem: I see "Invalid CSV Upload file (0 rows found), please try again."
Solution: The file is not a real CSV or is empty. Use Save As, choose CSV (Comma delimited), and make sure the name ends in .csv.
Problem: I see "Your file is missing the ... column".
Solution: Add the column named in the message. The import needs Customer, Order Number, Date, Payment Status, and either Payment Amount or Total.
Problem: Every row says "No match".
Solution: Hover over a cell to see which part did not agree. The usual causes are a customer name spelled differently, an order date that differs from the order's date in BarSight, or orders that have not been imported yet.
Problem: Rows say "Already Paid".
Solution: The order already has a paid payment, usually from an earlier import of the same file. Nothing more is needed.
Problem: Rows say "Skipped".
Solution: Hover over the cell for the reason. Rows that are not marked paid are skipped on purpose. For the others, fix the value the message names and upload the file again.
Problem: A "Discount" credit appeared on an order.
Solution: The amount in your file was lower than the order's total, and BarSight booked the difference as a discount. Contact support to have the credit removed, and make sure partial payments are left out of the file next time.
Problem: I see "The uploaded file has expired, please upload it again."
Solution: The preview was left open too long, or the import had already finished. Check the Orders page for the payments, and upload the file again if they are not there.
Problem: I see "You do not have access to import payments."
Solution: Your access group does not give you full access to the Orders page. Ask your account owner to update it. See Access Control.
Problem: I see "No payments were recorded".
Solution: Every row was skipped. Upload the file again and read the preview, where each skipped row has its reason.