Skip to main content

v3 - Protel Integration

How to connect Golfmanager to the Protel PMS so guests can charge club purchases to their room and all club sales reach the hotel's accounting.

Index

What is this integration?

The Protel integration connects Golfmanager to the hotel's PMS (the software that manages room reservations, guests and hotel billing). It makes sure everything sold at the club reaches the hotel's accounting and, above all, it lets a guest charge a green fee, a buggy or a drink to their room instead of paying for it on the spot.

It is especially useful in resorts where the golf course, the restaurant and the sports facilities are part of a hotel complex: the guest signs at the club's POS and the amount appears on their room bill.

To enable the integration you need the protel module installed (from the App Market or with help from support). It also requires the billing, invoicing and POS modules. To purchase and install it, contact our support team.

⚠️ Communication is not real time. Golfmanager drops files on an FTP server and HIT's middleware (HolOutService) picks them up and posts them into Protel. Protel sends no confirmation back to Golfmanager: the sale is treated as paid at the club the moment it is taken, and the posting reaches the hotel shortly afterwards.

What problem does it solve?

  • It enables room charges from the club's POS: the guest is identified by name or room number and signs, without paying at the till.

  • It removes double data entry: the hotel no longer types into Protel the golf consumption that used to arrive on paper.

  • It also transfers ordinary sales (cash, card, direct debit…) to Protel, so the resort's accounting balances in full, not just the room-charge part.

  • It leaves a full trail: every transfer is recorded in Golfmanager, with its contents and its result, so you can review it and resend it.

What can it do?

Feature

What it is for

Room charge

The guest charges their club purchase to their hotel reservation from the POS

Guest lookup

Find the reservation by guest name or room number, using the hotel's live data

Incremental transfer (every 2 minutes)

Push each payment to Protel almost immediately

End-of-day transfer (23:45)

Push the day's revenue summary to the golf interface folio

Refunds and cancellations

Sent as negative lines, with no separate process

Manual resend

Force an immediate transfer, or rebuild the end-of-day file for one or more days

Logging and audit

Review every file sent, its contents, and the sales that could not be sent

Which systems does it connect, and which way does the data travel?

It connects Golfmanager's POS and billing with Protel, through an FTP server and HIT's HolOutService middleware. There are two flows, one in each direction:

From Protel to Golfmanager: the holout.txt file

  • The hotel publishes a file called holout.txt on the FTP with a snapshot of every current room reservation: room, reservation number, guest name, departure date, board and whether that reservation accepts postings from points of sale.

  • Golfmanager reads it at the moment it is needed: when the room-charge dialog is opened at the POS, and on any automatic transfer that requires it. No copy of the reservations is stored in Golfmanager.

From Golfmanager to Protel: the transfer.txt file

  • Golfmanager writes a file called transfer.txt on the FTP with one line per posting: which reservation it goes to, the amount, the originating POS, the posting account and the receipt or invoice number.

  • HolOutService picks that file up on its own cycle and posts the entries into Protel.

🔒 Security: only amounts, reservation numbers and receipt numbers travel over the FTP — no card data. The FTP username and password are stored encrypted in Golfmanager and are not shown again once saved.

Prerequisites (before switching the integration on)

  1. Have the protel module installed (along with billing, invoicing and POS).

  2. Have an FTP server agreed with the hotel / HIT, including host, port, username, password and the upload and read folders.

  3. Make sure the hotel maintains the golf interface reservation: a permanent reservation whose guest name is GOLF INTERFACE. It is the folio where everything that is not a room charge is posted. Without it, transfers do not go out.

  4. Have the hotel's posting account map (ktonr): which account corresponds to each product subfamily and each payment method.

  5. Agree the start date (cut-off date): from which day Protel should start receiving data.

  6. Billing permission to configure the integration and view the logs.

Setup on the hotel side (Protel / HIT)

Before configuring Golfmanager, the hotel and HIT must have the following ready:

  1. Create the FTP user for Golfmanager, with write access to the folder where transfer.txt will be dropped and read access to holout.txt.

  2. Publish the holout.txt file on the FTP and keep it up to date. It is the only source of reservations Golfmanager sees.

  3. Create and keep open the GOLF INTERFACE reservation, the folio where sales that are not room charges are posted.

  4. Configure HolOutService to watch the folder and post the transfer.txt entries into Protel.

  5. Provide the posting account map (ktonr) listing the accounts per subfamily and per payment method, stating explicitly which items must not be interfaced.

⚠️ Reservation numbers and posting accounts are defined by the hotel. They cannot be invented or guessed: if an account is missing from the map the hotel provides, that sale will not be sent until it is filled in.

Setup in Golfmanager (step by step)

  1. Log in to Golfmanager.

  2. In the side menu, select Protel.

  3. Click Configuration.

  4. Enter the FTP details: FTP host, FTP port, Username and Password.

  5. Set the Upload directory (where transfer.txt is written) and the Holout file path (full path, including the file name).

  6. Save and test the connection with Send now (incremental) from Protel > Transfer log.

  7. Fill in the account map: the Protel posting account (ktonr) field on every product subfamily and every payment method.

  8. Set the date in the Do not ship data before field (your start date).

  9. Turn on the Active switch.

  10. Save your changes.

The recommended order is to configure everything first and activate last. While the Active switch is off, nothing at all is sent, so you can build the account map at your own pace.

Each field is explained in detail below.

Every configuration field in detail

All of these fields live in Protel > Configuration, section Protel FTP Details.

Active

  • Description: the integration's master switch. It is off by default.

  • System impact: with the switch off, nothing is sent to Protel — not the 2-minute transfer, not the end-of-day transfer, not the manual buttons.

  • Behaviour: when you turn it on, if a cut-off date is already saved, Golfmanager catches up on the pending days from that date.

  • Example: leave it off during implementation and turn it on the day you go live, once the FTP and the account map have been verified.

FTP host

  • Description: the address of the FTP server where the files are exchanged.

  • System impact: without it, Golfmanager can neither read holout.txt nor write transfer.txt.

  • Behaviour: used on every read and every transfer.

  • Example: the hotel's IT department or HIT provides it along with the rest of the credentials.

FTP port

  • Description: the FTP server's connection port.

  • System impact: a wrong port makes every connection fail, even if the rest of the details are correct.

  • Behaviour: defaults to 21, the standard FTP port.

  • Example: leave it at 21 unless the hotel specifies another port.

Username

  • Description: the FTP login user.

  • System impact: identifies Golfmanager to the hotel's server.

  • Behaviour: stored encrypted.

  • Example: ask the hotel for a dedicated Golfmanager user rather than one shared with other systems.

Password

  • Description: the FTP user's password.

  • System impact: if it expires or the hotel changes it without warning, transfers start failing and are recorded as errors in the Transfer log.

  • Behaviour: stored encrypted and never shown again.

  • Example: if the hotel rotates credentials, remember to update it here the same day.

Upload directory

  • Description: the FTP folder where Golfmanager writes transfer.txt.

  • System impact: it must be exactly the folder HolOutService watches. If it points somewhere else, the files are uploaded but nobody picks them up.

  • Behaviour: it is a folder, not a file. Defaults to / (the FTP user's root). Without this value, the automatic transfers do not run.

  • Example: confirm it with HIT before go-live; it is the quietest misconfiguration of them all.

Holout file path

  • Description: the full path to the hotel's reservation file, including the file name.

  • System impact: if it is wrong, the POS cannot show reservations and room charges do not work.

  • Behaviour: defaults to /holout.txt, the vendor's usual convention. It is read whenever needed and never copied.

  • Example: if the hotel publishes it in a subfolder, write the full path, for example /interface/holout.txt.

Do not ship data before

  • Description: the integration's start date — the first day Protel should receive data for.

  • System impact: everything before that date is marked as already sent and never travels to the hotel. It stops the club's history from landing in the hotel's accounts all at once.

  • Behaviour: when you save it, if the integration is already active, Golfmanager sends the pending end-of-day files from that date up to today. That runs as you save and can take 30 to 90 seconds.

  • Example: if you go live on 1 September, enter 1 September. While it is empty, the automatic transfers do not run.

⚠️ The cut-off date can be moved forward safely (days already sent are not repeated), but moving it back undoes nothing: whatever was already marked as sent stays marked. It is a go-live setting, not a day-to-day one. If you need to move it backwards, contact support.

Posting accounts (ktonr)

The ktonr is the Protel posting account each entry is booked to. It is a value the hotel defines: Golfmanager does not calculate it, it only carries it. It is configured in two places:

Where

Path

When it is used

Product subfamily

Products > Subfamilies > (open) > Protel posting account (ktonr)

On room charges and on the end-of-day file. This is the revenue account: green fee, buggy, restaurant, shop…

Payment method

Configuration > Payment methods > (open) > Protel posting account (ktonr)

On the 2-minute transfer, for sales that are not room charges: cash, card, voucher…

⚠️ A subfamily or payment method without a ktonr blocks its sales from being sent. On the 2-minute transfer that sale is skipped (and retried on its own once you fix the value); on the end-of-day transfer it blocks the whole file for that day, because the daily summary must go out complete or not at all. Either way it is recorded in the Error log.

If the hotel explicitly states that certain items must not be interfaced, leave them without a ktonr deliberately and bear in mind their sales will sit pending in the error log.

Go-live and the cut-off date

The integration is designed as a one-time setup. Not a single record goes to Protel until all four of these are true:

  1. The FTP details (host, port, username, password, upload directory and holout path) are complete.

  2. The cut-off date is set.

  3. The Active switch is on.

  4. The account map (subfamilies and payment methods) is loaded.

What happens when you save the cut-off date

  • Every POS sale before that date is marked as already sent: that is the history you want to leave out.

  • If the integration is already active, the pending end-of-day files are generated and uploaded from the cut-off date up to today, one per day, skipping any that were already sent successfully.

What happens when you turn the Active switch on

  • The same: if a cut-off date already exists, the pending end-of-day files are caught up.

  • The order in which you save the two fields does not matter — whichever you save second triggers the catch-up.

If go-live happens several days late, saving the cut-off date can take 30 to 90 seconds, because one file is uploaded per pending day. That is normal: wait for the screen to respond, do not reload.

Day-to-day use

Taking a room charge

  1. The cashier adds the products to the POS cart.

  2. They pick the Room charge (Protel) payment method.

  3. The Charge to room (Protel) dialog opens with a search box: you can type the guest name or the room number.

  4. Golfmanager lists the hotel's reservations that are active at that moment, formatted as room – guest (reservation no).

  5. The cashier selects the reservation and confirms.

  6. The sale is marked as paid and the receipt prints with a Room number line under the customer details.

What happens / system behaviour: when the dialog opens, Golfmanager reads holout.txt right then, so the list always reflects the hotel's real state. If the chosen reservation does not accept postings from points of sale (the hotel marks this in the file itself), the dialog refuses it and you must take payment another way. The entry is sent to Protel on the next automatic cycle, at most 2 minutes later.

Taking an ordinary payment (cash, card, etc.)

Nothing changes at the till. Behind the scenes those sales are also sent to Protel, but posted to the permanent GOLF INTERFACE reservation the hotel maintains, not to any customer's room.

The two automatic transfers

Transfer

When

What it sends

Incremental

Every 2 minutes

One line per new payment (including split payments, refunds and cancellations) that has not been sent yet

End of day

At 23:45

One line per sale of the day with the revenue summary, minus the part already charged to guest rooms

Refunds, cancellations and vouchers

  • Refunding a payment: a new negative entry is created and travels to Protel on the next 2-minute cycle. Nothing else to do.

  • Cancelling a sale: Golfmanager creates the matching cancellation sale and it goes out the same way, in negative, on the next cycle.

  • Redeeming a voucher: the sale carries two lines — the product sold in positive and the voucher in negative — and both are sent.

Resending manually

From Protel > Transfer log:

  • Send now (incremental): runs the 2-minute transfer without waiting. Useful to test the connection or to push an urgent payment.

  • Manual EOD rebuild: asks for a From date and a To date and regenerates the end-of-day file for those days. Each day is processed separately, so one problem day does not stop the others from going out.

Both buttons require the Active switch to be on.

Monitoring screens

The Protel menu holds four screens (visible with billing permission):

Screen

What it shows

When to look at it

Configuration

The connection details and the master switch

During implementation and whenever credentials change

Room charge transactions

Every room-charge attempt: reservation, room, guest, result and error if any

When a guest disputes a charge, or a charge is missing from their bill

Transfer log

Every transfer made: type (2-minute / end of day), date, line count, status, whether it was automatic or manual, and the full contents of the file

The first screen to check whenever you are unsure whether something went out

Error log

Sales that could not be sent, with the reason and the number of attempts

To spot posting accounts left unconfigured or reservations missing on the hotel side

The content stored on each Transfer log record is exactly what the hotel received. If HIT says an entry never arrived, that is your proof of what was sent and when.

How to read a line of the file

Each line of transfer.txt holds five values separated by commas. For example: 000038e09a,970,17,20017,"GR/2026/016987"

Value

Meaning

000038e09a

The hotel reservation number it is posted to

970

Amount in cents (€9.70). May be negative on refunds

17

The originating POS in Golfmanager

20017

Posting account (ktonr)

"GR/2026/016987"

Receipt or invoice number. If the receipt was later converted into an invoice, both numbers appear

What happens when something fails

The two transfers behave differently on purpose, because the end-of-day file has to be a complete summary:

Situation

2-minute transfer

End-of-day transfer

A sale with incomplete data (missing ktonr, reservation missing from holout.txt)

That sale is skipped and the rest of the batch goes out normally. It is recorded in the Error log and retried automatically every 2 minutes until it is fixed

The whole file for that day is blocked: nothing is uploaded and the Transfer log records a Failed status naming the sales that blocked it

The FTP is not responding

Recorded as failed and retried on the next cycle, with no payment lost

Retried automatically a few times; if the outage is long, use the manual rebuild once the service is back

In the Error log, when the same problem recurs on the same sale, no new rows are created: the attempts counter is incremented and the date updated. That way you can see at a glance how long a sale has been stuck.

The most common messages

Message

What it means and how to fix it

missing subfamily.protelKtonr

The subfamily of the product sold has no posting account. Fill it in and the transfer recovers on its own

missing paymentMethod.protelKtonr

The payment method used has no posting account. Same as above

"GOLF INTERFACE" not found in holout.txt

The permanent golf interface reservation is missing from the hotel's file. Ask the hotel to reopen it

cannot read reservation from holout

The reservation file could not be read: check the holout path and the FTP credentials

Protel: FTP upload / download failed

A connection or permission problem on the FTP. It retries on its own; if it persists, notify the hotel's IT team

Protel is not active

You pressed a manual button while the Active switch was off

Limitations to keep in mind

  • There is no confirmation back. Protel does not reply to Golfmanager. The sale is treated as paid at the club the moment it is taken, and the entry reaches the hotel afterwards. There is no "posted in Protel" status inside Golfmanager.

  • It is not a payment gateway. A room charge does not collect money: it moves the amount to the hotel bill. The hotel collects it at check-out.

  • It depends on the hotel's file. If holout.txt is out of date or the FTP is down, room charges cannot be taken at that moment.

  • The GOLF INTERFACE reservation is essential. If the hotel closes it, transfers for non-room-charge sales are blocked.

  • The account map comes from the hotel. No ktonr means no transfer, and Golfmanager cannot infer it.

  • Transfers are not instant. Up to 2 minutes for payments and up to the 23:45 close for the daily summary, plus HolOutService's own cycle on top.

  • The cut-off date cannot be moved back from the screen once it has been applied.

  • Resort-specific setup. In resorts with several properties there may be extra rules for splitting postings between them, agreed with the hotel during implementation.

Benefits

  • A resort experience: the guest signs at the club and pays with their room.

  • Less manual work and fewer typing errors at reception.

  • Complete accounting: not just room charges — cash and card sales reach the hotel too.

  • Full traceability: every file sent is stored with its contents and its result.

  • Easy recovery: one-off failures retry on their own, and any day can always be rebuilt by hand.

  • Controlled go-live: the cut-off date keeps the club's history out of the hotel's accounts.

Frequently asked questions

How is this different from a payment gateway like Stripe or 2C2P?

A gateway collects money; Protel collects nothing. A room charge moves the amount onto the hotel bill, and the hotel collects it from the guest at check-out. That is why such a sale produces no cash or card income at the club's till.

What do I need in place before I can use it?

The protel module installed; an FTP agreed with the hotel (host, port, username, password, upload folder and the path to holout.txt); the permanent GOLF INTERFACE reservation open in Protel; the ktonr account map per subfamily and payment method; and the start date.

Where is everything configured? Do I need to change things in both Protel and Golfmanager?

Yes, in both. On the hotel side (Protel / HIT) the FTP is prepared, holout.txt is published, the interface reservation is maintained and HolOutService is configured. In Golfmanager (menu Protel > Configuration) you enter the FTP details, the paths and the cut-off date and turn the switch on, plus fill in the ktonr on subfamilies and payment methods.

"Room charge (Protel)" does not appear as a payment method. Why?

Almost always because the module is missing. The payment method is created by the protel module itself on installation; if the module is not installed, or the method is not enabled on that POS, it is not offered.

The room-charge dialog says there are no active reservations. What should I check?

It means Golfmanager could not read any reservations from the hotel's file. Check the Holout file path (it must include the file name, not just the folder) and the FTP credentials. If the connection works but the file arrives empty, the problem is on the hotel side.

A guest appears in the list but I cannot charge anything to them. Why?

Because the hotel has flagged their reservation as not accepting postings from points of sale. That is a reception decision (credit not authorised, agency booking, and so on), not a Golfmanager error. Take payment another way, or ask reception to enable it.

I took a room charge but it is not showing in Protel yet. Is that normal?

Yes. The transfer goes out on the 2-minute cycle and HolOutService then posts it into Protel on its own cycle. If a reasonable while has passed and it still is not there, check the Transfer log to confirm the transfer went out, and the Error log in case that sale was blocked.

How do I know a transfer succeeded?

In Protel > Transfer log. Each row is one transfer, with its status (success or failed), the line count and the exact contents of the file. If it failed, the error message names the cause.

The end-of-day file failed entirely because of one sale. Why was the rest not sent?

Because the end-of-day file is the day's accounting summary and it has to be complete. If it went out short, that day's accounting would be permanently and silently understated. Fix whatever the error names (usually an empty ktonr) and use the manual rebuild for that day.

How do I resend a specific day?

Go to Protel > Transfer log, press Manual EOD rebuild, enter the same date in "From" and "To" and confirm. For several days, enter the range: each day is processed separately and you are told which ones failed, if any.

Will entries be duplicated if I resend a day that already went out?

The manual rebuild regenerates and re-uploads that day's file, so use it only when the day never arrived or needs correcting. The automatic go-live catch-up, by contrast, does skip days already sent. When in doubt, check that day's status in the Transfer log before rebuilding it.

What about refunds? Do I need to tell the hotel?

No. The refund creates a negative entry that goes out on the next 2-minute cycle, using the same posting account as the original payment. The same applies to sale cancellations.

And vouchers?

Buying a voucher is an ordinary sale and travels like any other. Redeeming one produces two lines: the product consumed in positive and the voucher in negative, so the folio balances.

What do the numbers in the file contents mean?

Each line is reservation, amount in cents, POS, posting account and receipt number. The breakdown is in How to read a line of the file.

We are still testing. How do I avoid sending real data to the hotel?

Leave the Active switch off: in that state nothing goes out at all, automatic or manual. And when you do turn it on, have the cut-off date set to your go-live day so the earlier history never travels.

Can the integration be switched off temporarily?

Yes, by turning the Active switch off. Sales from that period are not lost: they stay pending and are sent when you turn it back on. The end-of-day files for those days can be rebuilt by hand over a date range if needed.

Why does "Room number" appear on the receipt?

Because the sale was taken as a room charge: Golfmanager prints the room number under the customer details so both the guest and the cashier have a record of which room it was posted to.

Did this answer your question?