For End Users and System Administrators
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.
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/operatorStore - Generates settlements grouped by store (consolidated)Workstation - Generates settlements grouped by cash register/terminalItemGroup - Generates settlements grouped by item group (rarely used)Default: Operator, Store, Workstation
Example: value="Operator, Store, Workstation"
How It Works:
Store is selected, you get one settlement file per store per day with all transactions combinedOperator is selected, you get separate settlement data for each cashier who worked that dayWorkstation is selected, you get separate settlement data for each cash registerImpacted Code(s): All settlement codes - this parameter determines the grouping level for all generated codes
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:
Impacted Code(s): All settlement codes - determines where all settlement files are saved
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 dayDateRange - Settlement spanning multiple daysHybrid - Combination approach (consult with support before using)Default: Date
When to Use Each:
Date for standard daily settlements (most common)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
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:59value="6:00" - Settlement day runs from 06:00 to 05:59 next dayvalue="-3:00" - Settlement day runs from 21:00 previous day to 20:59How 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
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:
Impacted Code(s): INO, N00-N99, O00-O99, P00-P99
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
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:
Impacted Code(s): IVI, IVU
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)
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)
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
Purpose: Reports cash transactions broken down by currency received.
Valid Values: true, false
Default: false
Impacted Code(s): CNO, CSE, CEU, COT
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
Purpose: Includes the grand total from End of Business Day (EOBD) process in settlements.
Valid Values: true, false
Default: false
Impacted Code(s): ING
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)
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 itemsInternalUse - Items used internally (not sold)DockingArea - Items in receiving/docking areaStockAdjustment - Manual inventory adjustmentsInventory - Inventory count adjustmentsInternalTransfer - Items transferred between departments/locationsReturn - Items returned to supplierComplaint - Items involved in customer complaintsShrinkage - Missing/stolen itemsBreakageRegistered - Breakage recorded in systemBreakagePaid - Breakage that was paid forDefault: 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)
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:
value="IM1=25;IM2=15;IM3=0" (25%, 15%, 0%)value="IM1=25;IM2=12;IM3=6;IM4=0" (25%, 12%, 6%, 0%)Configuration Tips:
Impacted Code(s): IM1, IM2, IM3, IM4
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
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)
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
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
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
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
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
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:
Impacted Code(s): I01-I99, U01-U99
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
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
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
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
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:
Impacted Code(s): Q01-Q99
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
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:
Impacted Code(s): IUP, IIP, IA1-IA5, IB1-IB5
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:
Impacted Code(s): IP1-IP5, IPR
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:
"Drop,Float""Drop,PayedIn,PayedOut,Float""Drop,PayedIn,PayedOut,Float,StartShift,EndShift,SpotCheck"Impacted Code(s): IDR, IKI, IIN, IUT, INS, IBL, IQP, IEP
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
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
| Code Range | Description |
|---|---|
| K01-K99 | Payment by credit/debit card type |
| B01-B99 | Balance per tender type (counted/registered) |
| S01-S99 | Sales per tender type (cash, card, check, etc.) |
| IM1-IM4 | Sales grouped by VAT rate (main VAT reporting) |
| IA1-IA5 | Deposit refunds IN by VAT rate |
| IB1-IB5 | Deposit fees OUT by VAT rate |
| IZ1-IZ5 | Delayed payment by VAT rate |
| IP1-IP5 | Prize payout by VAT rate |
| IC1-IC5 | Groceries online by VAT rate |
| IW1-IW5 | Webshop sales by VAT rate |
| IV1-IV9 | Item transactions (breakage, inventory, etc.) |
| IDR, IKI, IIN, IUT | Cash management (drop, paid in/out) |
| INO | NonSale total |
| N00-N99 | NonSale turnover by type |
| IKU | Number of customers |
| IVA | Number of items sold |
| IRE | Returns |
| IRM, IRK, IRP | Discounts by type |
| IGK, IG1 | Gift cards (own/foreign) |
| Q01-Q99 | Coupon types |
| R01-R99 | Alternative payment types |
| S01-S99 | SoftPay card types |
| C01-C99 | CoopPay card types |
| NO1-NO2, SE1-SE2, etc. | Currency breakdown codes |
| CNO, CSE, CEU, COT | Cash by currency |
| IVI, IVU | Inbound/outbound change fund |
| ING | Grand total (EOBD) |
| IRC, IRS | Fallback codes |
| Parameter | Default | Key Codes Affected |
|---|---|---|
| SettlementType | Operator, Store, Workstation | All codes |
| StoreSettlementOutputDirectory | c:\temp\ | File system |
| StoreSettlementPeriodType | Date | All codes |
| StoreSettlementTimeOffset | 0:00 | All codes |
| StoreSettlementEnableNonsale | false | INO, N00-N99, O00-O99, P00-P99 |
| StoreSettlementEnableCurrencyBalance | false | NO1-NO2, SE1-SE2, DA1-DA2, etc. |
| StoreSettlementEnableInboundOutboundChange | false | IVI, IVU |
| StoreSettlementEnablePaymentCardInCurrency | false | K codes with currency |
| StoreSettlementEnableCashInCurrency | false | CNO, CSE, CEU, COT |
| StoreSettlementEnableFallbacks | false | IRC, IRS |
| StoreSettlementEnableGrandTotal | false | ING |
| StoreSettlementHasItemTransactionReasonCodes | false | IV1-IV9 with reasons |
| StoreSettlementEnabledItemTransactionTypes | Empty | IV1-IV9 |
| StoreSettlementVatCodes | IM1=25;IM2=0;IM3=14;IM4=99 | IM1-IM4 |
| StoreSettlementDelayedPaymentVatRates | Empty | IZ1-IZ5 |
| StoreSettlementDepositRefundVatRates | Empty | IA1-IA5, IB1-IB5 |
| StoreSettlementPrizePayoutVatRates | Empty | IP1-IP5 |
| StoreSettlementGroceriesOnlineVatRates | Empty | IC1-IC5 |
| StoreSettlementWebShopVatRates | Empty | IW1-IW5 |
| StoreSettlementCouponTypes | Empty | Q01-Q99 |
| StoreSettlementPaymentCardTypes | Empty | R01-R99 |
| StoreSettlementPaymentCardsS | Empty | S01-S99 |
| StoreSettlementPaymentCardsC | Empty | C01-C99 |
| StoreSettlementPrizePayoutItemGroups | Empty | IP codes |
| StoreSettlementDepositRefundOutItemGroups | Empty | IUP, IIP, IA/IB codes |
| StoreSettlementCashDrawerTenderControlTypes | Empty | IDR, IKI, IIN, IUT, etc. |
| StoreSettlementGroceriesOnlinePriceChannel | Empty | IC codes |
| StoreSettlementUnknownCashierNumber | 9999 | Operator-level codes |
<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" /><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" /><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" /><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" />Configuration File Syntax:
Parameter Values:
Directory and Permissions:
Testing:
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