You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Current »

Overview

This document describes all configuration parameters for the StoreSettlement worker in POS Services. The StoreSettlement worker generates daily settlement files containing financial and operational data from the point-of-sale system. These files are used for accounting, reconciliation, and reporting purposes.

Settlement files contain various transaction codes (like IKU, IVA, B01, etc.) that represent different types of financial data. Each parameter below controls whether specific codes appear in the settlement file and how they are calculated.


Core Settlement Parameters

SettlementType

Purpose: Determines the level of detail in settlement reporting - whether settlements are generated per store, per operator (cashier), or per workstation (cash register).

Valid Values: Comma-separated list containing one or more of:

  • Operator - Generates settlements grouped by cashier/operator
  • Store - Generates settlements grouped by store (consolidated)
  • Workstation - Generates settlements grouped by cash register/terminal
  • ItemGroup - Generates settlements grouped by item group (rarely used)

Default: Operator, Store, Workstation

Example: value="Operator, Store, Workstation"

How It Works:

  • When Store is selected, you get one settlement file per store per day with all transactions combined
  • When Operator is selected, you get separate settlement data for each cashier who worked that day
  • When Workstation is selected, you get separate settlement data for each cash register
  • You can enable multiple types simultaneously to get different views of the same data

Impacted Code(s): All settlement codes - this parameter determines the grouping level for all generated codes

StoreSettlementOutputDirectory

Purpose: Specifies the folder location where settlement files will be saved after generation.

Valid Values: Any valid Windows file system path (must be accessible by the service account)

Default: c:\temp\

Example: value="c:\LPOS\Settlements\" or value="\\server\share\settlements\"

Important Notes:

  • Ensure the directory exists before settlement runs
  • Monitor disk space in this location
  • Set up appropriate folder permissions
  • Consider using a dedicated folder for settlements separate from other POS data

Impacted Code(s): All settlement codes - determines where all settlement files are saved

StoreSettlementPeriodType

Purpose: Controls how the settlement period is defined - whether it's a single business day, a date range, or a hybrid approach.

Valid Values:

  • Date - Settlement for a single business day
  • DateRange - Settlement spanning multiple days
  • Hybrid - Combination approach (consult with support before using)

Default: Date

When to Use Each:

  • Use Date for standard daily settlements (most common)
  • Use DateRange when you need to generate settlements for multiple days at once (e.g., weekly settlements, re-running historical periods)

Impacted Code(s): All settlement codes - determines the time period for all data queries

StoreSettlementTimeOffset

Purpose: Adjusts the settlement day boundary to align with business day instead of calendar day. Useful when stores close after midnight.

Valid Values: TimeSpan format HH:MM (hours:minutes)

Default: 0:00 (no offset, settlement day = calendar day)

Example:

  • value="0:00" - Settlement day runs from 00:00 to 23:59
  • value="6:00" - Settlement day runs from 06:00 to 05:59 next day
  • value="-3:00" - Settlement day runs from 21:00 previous day to 20:59

How It Works:
When you set an offset of 6:00, a settlement for "April 24" will include transactions from April 24 06:00 to April 25 05:59. This ensures late-night transactions (after midnight) are included in the correct business day.

Impacted Code(s): All settlement codes - shifts the time boundary for all transaction queries


Feature Enable/Disable Parameters

StoreSettlementEnableNonsale

Purpose: Controls whether non-sale items (items sold without affecting inventory) are included in settlement reports.

Valid Values: true, false

Default: false

How It Works: Non-sale items are special products that don't represent physical inventory but generate revenue (e.g., service fees, warranties, delivery charges, gift wrapping).

When to Enable:

  • Your store sells service products or fees
  • Need to track non-inventory revenue separately
  • Accounting requires non-sale items in daily reports

Impacted Code(s): INO, N00-N99, O00-O99, P00-P99

StoreSettlementEnableCurrencyBalance

Purpose: Enables detailed currency breakdown for multi-currency transactions in settlements.

Valid Values: true, false

Default: false

When to Enable: Store accepts multiple currencies, border stores, or tourist locations

Impacted Code(s): NO1, NO2, SE1, SE2, DA1, DA2, US1, US2, EU1, EU2, GB1, GB2, DI1, DI2

StoreSettlementEnableInboundOutboundChange

Purpose: Tracks the float/change fund balance - money set aside in cash drawer for making change.

Valid Values: true, false

Default: false

How It Works:

  • Inbound change: Money added to the change fund (float deposited at start of day/shift)
  • Outbound change: Money removed from the change fund (float withdrawn at end of day/shift)

Impacted Code(s): IVI, IVU

StoreSettlementEnableDeliveredBalanceInCurrency

Purpose: Reports banking deposits broken down by currency.

Valid Values: true, false

Default: false

When to Enable: Multi-currency environment with separate bank deposits per currency

Impacted Code(s): Banking per currency section (currency-specific bank deposit codes)

StoreSettlementEnableInboundOutboundChangeInCurrency

Purpose: Reports float/change fund movements broken down by currency.

Valid Values: true, false

Default: false

Impacted Code(s): Currency-specific inbound/outbound change codes (extends IVI/IVU with currency detail)

StoreSettlementEnablePaymentCardInCurrency

Purpose: Reports payment card transactions with original currency amounts.

Valid Values: true, false

Default: false

When to Enable: Accept foreign currency card payments or card processor settles in multiple currencies

Impacted Code(s): K01-K99 with currency detail

StoreSettlementEnableCashInCurrency

Purpose: Reports cash transactions broken down by currency received.

Valid Values: true, false

Default: false

Impacted Code(s): CNO, CSE, CEU, COT

StoreSettlementEnableFallbacks

Purpose: Enables fallback categorization for payment cards that don't match standard categories.

Valid Values: true, false

Default: false

When to Enable: Have payment integrations that might send unexpected card types or want to capture all payment card transactions

Impacted Code(s): IRC, IRS

StoreSettlementEnableGrandTotal

Purpose: Includes the grand total from End of Business Day (EOBD) process in settlements.

Valid Values: true, false

Default: false

Impacted Code(s): ING

StoreSettlementHasItemTransactionReasonCodes

Purpose: Adds reason code detail to item transaction reporting (breakage, inventory adjustments, etc.).

Valid Values: true, false

Default: false

When to Enable: Need detailed tracking of why items were broken, transferred, or adjusted

Impacted Code(s): IV1-IV9 (with reason code breakdown)


Item Transaction Parameters

StoreSettlementEnabledItemTransactionTypes

Purpose: Specifies which types of non-sales item movements should be included in settlement reports.

Valid Values: Comma-separated list containing any combination of:

  • Breakage - Broken or damaged items
  • InternalUse - Items used internally (not sold)
  • DockingArea - Items in receiving/docking area
  • StockAdjustment - Manual inventory adjustments
  • Inventory - Inventory count adjustments
  • InternalTransfer - Items transferred between departments/locations
  • Return - Items returned to supplier
  • Complaint - Items involved in customer complaints
  • Shrinkage - Missing/stolen items
  • BreakageRegistered - Breakage recorded in system
  • BreakagePaid - Breakage that was paid for

Default: Empty string (no item transactions in settlement)

Example: value="Breakage,Inventory,InternalTransfer"

Impacted Code(s): IV1 (Breakage), IV2 (InternalUse), IV3 (DockingArea), IV4 (StockAdjustment), IV5 (Inventory), IV6 (InternalTransfer), IV7 (Return), IV8 (Complaint), IV9 (Shrinkage)


VAT and Tax Parameters

StoreSettlementVatCodes

Purpose: Maps internal settlement codes to VAT/tax rates used in your country.

Valid Values: <Code>=<Rate>;<Code>=<Rate> format

Default: IM1=25;IM2=0;IM3=14;IM4=99

Example:

  • Norway: value="IM1=25;IM2=15;IM3=0" (25%, 15%, 0%)
  • Sweden: value="IM1=25;IM2=12;IM3=6;IM4=0" (25%, 12%, 6%, 0%)

Configuration Tips:

  • Use IM1 for your standard/high VAT rate
  • Use IM2 for reduced VAT rate (food, books, etc.)
  • Use IM3 for zero VAT rate (exempt items)
  • IM4 can be used for special cases or "other" rates

Impacted Code(s): IM1, IM2, IM3, IM4

StoreSettlementDelayedPaymentVatRates

Purpose: Specifies VAT rates for delayed payment transactions (items taken now, paid later).

Valid Values: <SettlementCode>=<VatRate>;<SettlementCode>=<VatRate>

Default: Empty string

Example: value="IZ1=25.0;IZ2=15"

When to Configure: Account customers, fuel drive-offs, corporate billing arrangements

Impacted Code(s): IZ1-IZ5, DelayedPaymentRegistered, DelayedPaymentPaid

StoreSettlementDepositRefundVatRates

Purpose: Defines VAT rates for deposit refunds (e.g., bottle deposits, container fees).

Valid Values: <Number>=<VatRate>;<Number>=<VatRate> where Number is 1-5

Default: Empty string

Example: value="1=25.0;2=15" creates IA1/IB1 for 25% VAT, IA2/IB2 for 15% VAT

How It Works: Each configured number creates a pair of codes (IA and IB) for that VAT rate.

Impacted Code(s): IA1-IA5 (Deposit refunds IN), IB1-IB5 (Deposit fees OUT)

StoreSettlementPrizePayoutVatRates

Purpose: Defines VAT rates for prize payouts (lottery winnings, jackpots, scratch cards).

Valid Values: <SettlementCode>=<VatRate 0.00 format>;<SettlementCode>=<VatRate 0.00 format>

Default: Empty string

Example: value="IP1=25.00;IP2=15.00;IP3=0.00"

When to Configure: Store sells lottery products, gambling operations, contest prizes

Impacted Code(s): IP1-IP5, IPR

StoreSettlementGroceriesOnlineVatRates

Purpose: Tracks VAT for online grocery orders (click-and-collect, home delivery).

Valid Values: <SettlementCode>=<VatRate 0.00 format>;<SettlementCode>=<VatRate 0.00 format>

Default: Empty string

Example: value="IC1=25.00;IC2=9.99;IC3=0.00"

Impacted Code(s): IC1-IC5

StoreSettlementWebShopVatRates

Purpose: Tracks VAT for webshop/e-commerce orders.

Valid Values: <SettlementCode>=<VatRate 0.00 format>;<SettlementCode>=<VatRate 0.00 format>

Default: Empty string

Example: value="IW1=25.00;IW2=15.00;IW3=0.00"

Impacted Code(s): IW1-IW5


Reason and Action Code Parameters

StoreSettlementBreakageReasonAndActionCodes

Purpose: Defines specific reason code and action code combinations that identify breakage transactions.

Valid Values: (<ReasonCodeKey>,<ActionCodeKey>),(<ReasonCodeKey>,<ActionCodeKey>)

Default: Empty string

Example: value="(10,1),(20,2),(15,3)"

How It Works: Only transactions with matching reason/action code pairs are classified as breakage.
Example Scenario:
Reason Code 10 = "Damaged in store"
Action Code 1 = "Write off"
Configuration: value="(10,1)"

Impacted Code(s): IV1, BreakageRegistered, BreakagePaid

StoreSettlementDelayedPaymentReasonAndActionCodes

Purpose: Defines which reason/action code combinations identify delayed payment transactions.

Valid Values: (<ReasonCodeKey>,<ActionCodeKey>),(<ReasonCodeKey>,<ActionCodeKey>)

Default: Empty string

Example: value="(16,11),(17,11)"

When to Configure: Corporate accounts, fuel cards, customer credit accounts

Impacted Code(s): DelayedPaymentRegistered, DelayedPaymentPaid, IZ1-IZ5

StoreSettlementPaidInOutReasonCodes

Purpose: Maps settlement codes to reason codes for paid-in and paid-out transactions.

Valid Values: <SettlementCode>=<ReasonCodeKey>;<SettlementCode>=<ReasonCodeKey>

Default: Empty string

Example: value="I02=4;I04=5;U03=5;U10=0;I20=1"

Configuration Example:

  • I02 = Reason Code 4 (Bank deposit)
  • I04 = Reason Code 5 (Safe drop)
  • U03 = Reason Code 5 (Petty cash withdrawal)
  • U10 = Reason Code 0 (Other paid out)

Impacted Code(s): I01-I99, U01-U99


Payment and Card Parameters

StoreSettlementCreditPaymentIssuerIds

Purpose: Identifies which payment card issuers should be classified as credit payments (financing providers).

Valid Values: Comma-separated list of payment card issuer identifiers

Default: Empty string

Example: value="Collector,Resurs,KlarnaFinancing"

When to Configure: Integrated with financing providers, invoice payment, buy-now-pay-later

Impacted Code(s): Currency breakdown for credit/financing transactions

StoreSettlementPaymentCardTypes

Purpose: Maps settlement codes to specific payment card types.

Valid Values: <SettlementCode>=<PaymentCardType>;<SettlementCode>=<PaymentCardType>

Default: Empty string

Example: value="R01=SteriaPay;R02=MobilePay;R03=Vipps;R04=ApplePay"

Impacted Code(s): R01-R99

StoreSettlementPaymentCardsS

Purpose: Maps settlement codes to SoftPay payment card types.

Valid Values: <SettlementCode>=<PaymentCardType>;<SettlementCode>=<PaymentCardType>

Default: Empty string

Example: value="S01=1;S02=2;S03=3"
Note: This is integration-specific. Only configure if you use SoftPay.

Impacted Code(s): S01-S99

StoreSettlementPaymentCardsC

Purpose: Maps settlement codes to CoopPay payment card types.

Valid Values: <SettlementCode>=<PaymentCardType>;<SettlementCode>=<PaymentCardType>

Default: Empty string

Example: value="C01=4;C02=5;C03=6"
Note: This is integration-specific. Only configure if you use CoopPay.

Impacted Code(s): C01-C99


Coupon and Value Code Parameters

StoreSettlementCouponTypes

Purpose: Maps settlement codes to different coupon types/providers.

Valid Values: <SettlementCode>=<CouponType>;<SettlementCode>=<CouponType>

Default: Empty string

Example: value="Q01=C;Q02=V;Q03=M"

Common Types:

  • C = Chain coupons (company-issued)
  • V = Vendor/manufacturer coupons
  • M = Mobile/digital coupons

Impacted Code(s): Q01-Q99

StoreSettlementNegativeCountedValueCodes

Purpose: Specifies which value code types should be reported as negative values.

Valid Values: Comma-separated list of value code identifiers

Default: Empty string

Example: value="VC01,VC02,VC05"

When to Configure: Value codes used as payment method, gift cards redeemed

Impacted Code(s): Value code balance calculations


Deposit and Refund Parameters

StoreSettlementDepositRefundOutItemGroups

Purpose: Identifies which item groups should be treated as deposit refunds when sold.

Valid Values: <ItemGroupNo>,<ItemGroupNo>,<ItemGroupNo>

Default: Empty string

Example: value="1,8,240"

Configuration Example:

  • Item Group 1 = Beverage bottles
  • Item Group 8 = Beverage cans
  • Item Group 240 = Pallets/crates

Impacted Code(s): IUP, IIP, IA1-IA5, IB1-IB5


Prize Payout Parameters

StoreSettlementPrizePayoutItemGroups

Purpose: Identifies which item groups represent prize payouts.

Valid Values: <Item Group Number>,<Item Group Number>

Default: Empty string

Example: value="400,410,510"

Configuration Example:

  • Item Group 400 = Lottery prize payouts
  • Item Group 410 = Scratch card prize payouts
  • Item Group 510 = Jackpot payouts

Impacted Code(s): IP1-IP5, IPR


Cash Drawer and Control Parameters

StoreSettlementCashDrawerTenderControlTypes

Purpose: Specifies which cash drawer control operations should be included in settlement.

Valid Values: Comma-separated list of: Drop, PayedIn, PayedOut, PaymentOnAccountIn, PriceChanged, OpenDrawer, PaymentOnAccountOut, StartShift, EndShift, Float, SpotCheck

Default: Empty string

Example: value="Drop,PayedIn,PayedOut,Float"

Common Configurations:

  • Minimal: "Drop,Float"
  • Standard: "Drop,PayedIn,PayedOut,Float"
  • Detailed: "Drop,PayedIn,PayedOut,Float,StartShift,EndShift,SpotCheck"

Impacted Code(s): IDR, IKI, IIN, IUT, INS, IBL, IQP, IEP


Price Channel Parameters

StoreSettlementGroceriesOnlinePriceChannel

Purpose: Specifies the exact price channel identifier used for online grocery orders.

Valid Values: Any valid price channel key from your system

Default: Empty string

Example: value="ShopAndGoCheckTerminal"

Impacted Code(s): IC1-IC5


Operator and Cashier Parameters

StoreSettlementUnknownCashierNumber

Purpose: Default cashier/operator number to use when the actual cashier cannot be determined.

Valid Values: Any numeric string

Default: 9999

Example: value="9999"

Impacted Code(s): All operator-level codes when operator is missing


Complete Settlement Code Reference

Code RangeDescription
K01-K99Payment by credit/debit card type
B01-B99Balance per tender type (counted/registered)
S01-S99Sales per tender type (cash, card, check, etc.)
IM1-IM4Sales grouped by VAT rate (main VAT reporting)
IA1-IA5Deposit refunds IN by VAT rate
IB1-IB5Deposit fees OUT by VAT rate
IZ1-IZ5Delayed payment by VAT rate
IP1-IP5Prize payout by VAT rate
IC1-IC5Groceries online by VAT rate
IW1-IW5Webshop sales by VAT rate
IV1-IV9Item transactions (breakage, inventory, etc.)
IDR, IKI, IIN, IUTCash management (drop, paid in/out)
INONonSale total
N00-N99NonSale turnover by type
IKUNumber of customers
IVANumber of items sold
IREReturns
IRM, IRK, IRPDiscounts by type
IGK, IG1Gift cards (own/foreign)
Q01-Q99Coupon types
R01-R99Alternative payment types
S01-S99SoftPay card types
C01-C99CoopPay card types
NO1-NO2, SE1-SE2, etc.Currency breakdown codes
CNO, CSE, CEU, COTCash by currency
IVI, IVUInbound/outbound change fund
INGGrand total (EOBD)
IRC, IRSFallback codes

Parameter Summary Table

ParameterDefaultKey Codes Affected
SettlementTypeOperator, Store, WorkstationAll codes
StoreSettlementOutputDirectoryc:\temp\File system
StoreSettlementPeriodTypeDateAll codes
StoreSettlementTimeOffset0:00All codes
StoreSettlementEnableNonsalefalseINO, N00-N99, O00-O99, P00-P99
StoreSettlementEnableCurrencyBalancefalseNO1-NO2, SE1-SE2, DA1-DA2, etc.
StoreSettlementEnableInboundOutboundChangefalseIVI, IVU
StoreSettlementEnablePaymentCardInCurrencyfalseK codes with currency
StoreSettlementEnableCashInCurrencyfalseCNO, CSE, CEU, COT
StoreSettlementEnableFallbacksfalseIRC, IRS
StoreSettlementEnableGrandTotalfalseING
StoreSettlementHasItemTransactionReasonCodesfalseIV1-IV9 with reasons
StoreSettlementEnabledItemTransactionTypesEmptyIV1-IV9
StoreSettlementVatCodesIM1=25;IM2=0;IM3=14;IM4=99IM1-IM4
StoreSettlementDelayedPaymentVatRatesEmptyIZ1-IZ5
StoreSettlementDepositRefundVatRatesEmptyIA1-IA5, IB1-IB5
StoreSettlementPrizePayoutVatRatesEmptyIP1-IP5
StoreSettlementGroceriesOnlineVatRatesEmptyIC1-IC5
StoreSettlementWebShopVatRatesEmptyIW1-IW5
StoreSettlementCouponTypesEmptyQ01-Q99
StoreSettlementPaymentCardTypesEmptyR01-R99
StoreSettlementPaymentCardsSEmptyS01-S99
StoreSettlementPaymentCardsCEmptyC01-C99
StoreSettlementPrizePayoutItemGroupsEmptyIP codes
StoreSettlementDepositRefundOutItemGroupsEmptyIUP, IIP, IA/IB codes
StoreSettlementCashDrawerTenderControlTypesEmptyIDR, IKI, IIN, IUT, etc.
StoreSettlementGroceriesOnlinePriceChannelEmptyIC codes
StoreSettlementUnknownCashierNumber9999Operator-level codes

Configuration Examples by Business Type

Standard Retail Store

<add key="SettlementType" value="Store, Workstation" />
<add key="StoreSettlementOutputDirectory" value="c:\LPOS\Settlements\" />
<add key="StoreSettlementPeriodType" value="Date" />
<add key="StoreSettlementVatCodes" value="IM1=25;IM2=15;IM3=0" />
<add key="StoreSettlementEnabledItemTransactionTypes" value="Breakage,Inventory" />

Multi-Currency Border Store

<add key="SettlementType" value="Store, Operator" />
<add key="StoreSettlementEnableCurrencyBalance" value="true" />
<add key="StoreSettlementEnablePaymentCardInCurrency" value="true" />
<add key="StoreSettlementEnableCashInCurrency" value="true" />
<add key="StoreSettlementEnableDeliveredBalanceInCurrency" value="true" />

Grocery Store with Online Orders

<add key="StoreSettlementGroceriesOnlinePriceChannel" value="ShopAndGoCheckTerminal" />
<add key="StoreSettlementGroceriesOnlineVatRates" value="IC1=25.00;IC2=15.00;IC3=0.00" />
<add key="StoreSettlementDepositRefundOutItemGroups" value="1,8" />
<add key="StoreSettlementDepositRefundVatRates" value="1=25.0;2=0.0" />

24-Hour Fuel Station

<add key="StoreSettlementTimeOffset" value="6:00" />
<add key="StoreSettlementDelayedPaymentReasonAndActionCodes" value="(16,11)" />
<add key="StoreSettlementDelayedPaymentVatRates" value="IZ1=25.0;IZ2=15.0" />
<add key="StoreSettlementCashDrawerTenderControlTypes" value="Drop,PayedIn,PayedOut,Float" />

Validation Checklist

Before Deploying Configuration Changes:

Configuration File Syntax:

  • ☑ All parameters use correct XML syntax
  • ☑ Quotation marks properly paired
  • ☑ Semicolons and commas in right places

Parameter Values:

  • ☑ VAT rates match legal requirements
  • ☑ Reason/action code pairs exist in database
  • ☑ Item group numbers are valid
  • ☑ Price channel keys match system values

Directory and Permissions:

  • ☑ Output directory exists
  • ☑ Service account has write permission
  • ☑ Sufficient disk space available

Testing:

  • ☑ Test in development environment first
  • ☑ Compare output with manual calculations
  • ☑ Verify all expected codes appear
  • ☑ Check totals match POS reports

Version History

Document Version: 1.0 (Confluence-Optimized)
Last Updated: 2025
Applicable to: POS Services StoreSettlement Worker
Configuration Files: App.config, POSServices.Workers.exe.config

End of Documentation

  • No labels