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/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:
- When
Storeis selected, you get one settlement file per store per day with all transactions combined - When
Operatoris selected, you get separate settlement data for each cashier who worked that day - When
Workstationis 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 dayDateRange- Settlement spanning multiple daysHybrid- Combination approach (consult with support before using)
Default: Date
When to Use Each:
- Use
Datefor standard daily settlements (most common) - Use
DateRangewhen 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: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: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 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 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 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 Summary Table
| 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 |
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