Paste a key from Zettle once. Macct fetches the sales every night and gets them ready for you — you post them when it suits you.
How to connect Zettle →Every approved Norwegian POS system can produce it, PCKasse included. Each Z report becomes a daily settlement, with no column mapping.
How to use SAF-T Cash Register →Z reports or receipts as a file from any system, or let the POS system send the sales itself with a key that can only deliver sales.
Which file should I use? →How to do it
You find Register sales in the menu, right below Bank. The first time takes a couple of minutes; after that, Macct remembers what your file looks like.
- Choose the file. Export the sales from the POS system as CSV or Excel (.xlsx), and enter the name of the POS system or web shop. If you have the SAF-T Cash Register file (XML) or use Zettle, you skip the column mapping — see SAF-T Cash Register and Zettle. The name is used to recognise sales you have already uploaded.
- Map the columns. Macct reads the column names and suggests which column is the date, VAT rate, amount and payment method. You see the first rows alongside, correct anything that is wrong and save the mapping as a profile. Next month you just pick the profile.
- See the result before anything is posted. Every row gets a status: Ready to post, Needs correction or Already imported. Totals for sales, VAT and payments are shown at the top, and every error and warning is shown on the row it concerns — in plain language, not error codes.
- Press “Post valid”. The vouchers are created, and each row shows which voucher it ended up in. Rows that need correction stay where they are; they do not hold up the rest.
- Correct and send the rest. Download the error report, correct it in the POS system and upload the file again. What is already posted is recognised and skipped.
Zettle: connect once New
If you use Zettle (PayPal), you do not need to export anything. Macct fetches the sales straight from Zettle every night and gets them ready under Register sales. You review them and press “Post” when it suits you.
- Create a key in Zettle. Go to Integrations → API keys → Create API key, and tick access to sales (READ:PURCHASE).
- Paste it into Macct. Under Register sales → “Connect a cash register system”. Macct tries the key against Zettle before it is stored, and stores it encrypted.
- Choose how far back Macct should fetch, and press “Connect”. If you do not want to wait until the night, press “Fetch now”.
- Card sales are posted to the Zettle clearing account (1972) — the same account where the payout from Zettle meets the sales.
- Cash is posted to 1900. For Vipps, gift cards and other payment methods in Zettle, you choose the account once.
- Returns in Zettle are posted as a mirror image of the sale. Tips are posted separately (see below).
- Items with 0 % VAT: Zettle only says “0 %”. You choose once whether it is exempt, export or outside the VAT Act.
- It gives Macct read access to the sales in Zettle — nothing else.
- You can pause or delete the connection in Macct, and revoke the key in Zettle, at any time.
- If Zettle rejects the key, the connection is paused, and you see why next to the connection.
The SAF-T Cash Register file — works with every Norwegian POS system New
Every approved cash register system in Norway must be able to export its electronic journal in the Norwegian Tax Administration’s standard format, SAF-T Cash Register (an XML file). You can upload it directly under Register sales → “Do you have a SAF-T Cash Register file from the register?”.
- Each Z report becomes one daily settlement. VAT rates and payment methods are read straight from the report — no column mapping.
- The wrong company is stopped. If the file states another organisation number than the company’s, the whole file is rejected before anything is read in.
- The same file twice is recognised, so you can safely upload a whole month or the whole journal again.
- Small differences between the register and Macct, and cash rounding, go to the rounding account.
Z report or receipts — which one should I use?
Both give correct accounts. Choose the one your POS system produces most easily, and stick to it:
- Daily settlement (Z report) suits a physical shop with a register. One line per VAT rate and payment method per day and register. With several registers, each gets its own.
- Individual sales suit a web shop, and anyone who wants to find each receipt again in the accounts. Macct combines the day’s sales into one voucher, with each receipt listed as a specification under it.
What Macct checks before you post
One bad row never stops the others. It stays with an explanation until you have corrected it.
- The VAT is right for the amount and the rate. Small rounding differences from the register go to a separate rounding account; larger differences are stopped.
- Payments match the sales. What was paid by card, cash and Vipps must add up to what was sold.
- The date is valid. Not in the future, not in a closed period, and not in a VAT term that is already settled.
- Every payment method has an account. If a new one turns up, for example gift cards, Macct tells you and lets you choose the account.
- The same sale twice. Upload the same file again, or let the same sale arrive both as a file and directly from the POS system, and it is recognised as “Already imported”.
- VAT registered? If the company is not in the VAT register, sales with VAT are stopped instead of being posted wrongly.
How the sales are posted
You do not need to know the chart of accounts. Macct has ready-made default accounts following the Norwegian Standard Chart of Accounts, and you can change them under Account setup on the same page:
| Payment method | Posted to |
|---|---|
| Cash | 1900 Cash |
| Card | 1980 |
| Vipps, Stripe, Zettle | A clearing account per service (1970, 1971, 1972) |
| Invoice (sales on credit) | 1500 Accounts receivable, as an open item on the customer |
| Tips | 2990 Other current liabilities — not sales, no VAT |
The sale is posted to the sales account for the right VAT rate, and output VAT to the account for the rate (25, 15 or 12 percent). The sales are then included in the VAT return for the term automatically.
If you have several shops, or both a shop and a web shop, each POS system can have its own accounts. Whatever you do not choose for the POS system is inherited from the company’s default.
Discounts New
POS systems report discounts in different ways. Some deduct them before the amounts are written out, others show the full price and the discount separately. That is why Macct asks you once, when you create the profile:
- The amounts are after discount — the discount is information only.
- The amounts are before discount, and the discount includes VAT.
- The amounts are before discount, and the discount excludes VAT.
If the amounts are before discount, the sale is posted at full price and the discount to account 3080 “Discounts and other sales revenue reductions”, with the same VAT rate as the sale. The VAT is then calculated on what the customer actually paid. If a sale has several VAT rates, the discount must be on each line — Macct does not spread it at its own discretion.
Tips New
Tips are not sales. The money goes on to the staff, so Macct posts it to 2990 Other current liabilities, without VAT. The sales and the VAT stay the same, and the payments add up to sales plus tips.
Tips are picked up automatically from Zettle and from the SAF-T Cash Register file. In a CSV or Excel file you map the column “Tips”. If more was paid than was sold and no tips are stated, the sale is stopped with an explanation — Macct does not guess that the surplus is tips.
Sales on invoice from the web shop New
If the web shop sells on invoice to business customers, the web shop made the invoice. Macct does not make another one, but posts the sale as an open item on the customer in accounts receivable — with the web shop’s own invoice number, KID and due date.
- You see who owes you money in the same place as the invoices you create in Macct, marked with who issued them.
- When the customer pays, bank reconciliation recognises the payment by KID or invoice number, and the item is closed just like an ordinary invoice.
- The customer must already exist in Macct, with an organisation number or customer number. The import never creates customers on its own.
- Macct sends nothing to the customer for these: no PDF, EHF, reminder or credit note. The web shop, which owns the invoice, does that.
Sales on invoice must come as individual sales (not in a Z report), with invoice as the only payment method for the sale.
Card, Vipps and the fees
The card company or Vipps pays out the sales a few days later, with the fee deducted. The sale is posted to the clearing account for the service. When you then upload the settlement report under Bank → Settlement, the payout meets the sale on the same account, the fee is posted as an expense, and the clearing account goes to zero.
If the fee is already in the POS file, you can instead choose a fee account in Account setup, and it is posted together with the sale. It is off by default — so the fee is not posted twice.
Returns, refunds and mistakes in a file
- Returns and refunds are posted as a mirror image of the sale: sales and VAT go down, and the money goes back the way it came.
- A mistake in something already posted? Press “Reverse” on the voucher. Macct creates a reversing voucher, and the corrected figures can be uploaded again. Both stay in the history.
- Sales in a foreign currency are converted to kroner at Norges Bank’s rate for the date. If there is no rate, the sale is stopped instead of being posted at the wrong amount.
Let the POS system send the sales itself
Many POS systems and web shops can pass the sales on automatically. Create a key under Settings → API tokens and choose “Sales import only (POS system)”. Give it to your POS supplier, or paste it into the web shop’s settings.
- It can send sales to Register sales and see the status of what it has sent.
- It cannot read the accounts, create invoices or post.
- The sales wait in Register sales until a signed-in user has looked at them and pressed “Post”.
- You can delete the key at any time, and it stops working immediately.
The technical description for developers is on API and MCP.
Common questions
My POS system is not on any list. Will it still work?
Yes. If it is an approved Norwegian POS system, it can produce the SAF-T Cash Register file, which Macct reads with no setup. Otherwise it is enough that it can export the sales to CSV or Excel — you map the columns once, and Macct remembers the mapping.
Using PCKasse?
Upload the SAF-T Cash Register file from PCKasse. A direct connection where PCKasse sends the sales itself is ready and is activated on request — write to firmapost@macct.no.
How often does Macct fetch sales from Zettle?
Every night Macct fetches the previous day’s sales. If you press “Fetch now”, today’s sales so far are fetched too. Sales already fetched are not fetched again.
What happens if I upload the same file twice?
Nothing new is posted. All the rows show as “Already imported”, and the voucher from the first time is left untouched.
Can I upload a whole month at once?
Yes. A CSV or Excel file can have up to 100,000 rows and be up to 10 MB, and a SAF-T Cash Register file up to 50 MB. Daily settlements give one voucher per settlement, individual sales one voucher per day.
Do I have to post every day?
No. Upload whenever it suits you — every week, every month or before the VAT deadline. What is already posted is skipped.
What if the register rounds to whole kroner?
The rounding is posted to a separate rounding account (7790 by default), so the voucher balances to the øre.
Where do I see what has been imported before?
Under “Earlier imports” on the same page. Each import shows how many sales were posted, rejected or recognised, and each row shows the voucher it ended up in.
Register sales is included in the subscription. Connect Zettle or upload a Z report, and see the result before you post anything.
Try free for 30 days See the price