Interface IFiscalCountryProperties
- Namespace
- RetailForce.Fiscalisation.Implementation
- Assembly
- RetailForce.Fiscalisation.Model.dll
Represents fiscal country properties (necessary document types, type of fiscal interface, use of customer display...).
public interface IFiscalCountryProperties
Properties
AdditionalTaxesMayApply
True if additional taxes have to be sent according to the legislation; otherwise false.
[HelpInformation("Indicates whether additional taxes have to be sent according to the legislation in the respective country.", null)]
bool AdditionalTaxesMayApply { get; }
Property Value
AmountDecimalPlaces
Returns the number of allowed decimal places for each amount (price, values, tax values, etc.).
[HelpInformation("Specifies how many decimal places can be included (maximum) in the JSON-document to the Fiscal Middleware when sending amounts / totals.", null)]
int AmountDecimalPlaces { get; }
Property Value
AuditLogMandatory
True if the audit log has to be filled up; otherwise false.
[HelpInformation("Indicates whether a technical journal is obligatory; Technical Journal records technical events of the cash register", "https://support.retailforce.cloud/hc/en-gb/articles/5277827737233-Technical-Event-Protocol-Event-Log")]
bool AuditLogMandatory { get; }
Property Value
CertificationType
Returns if pos certification process is mandatory or not.
[HelpInformation("Returns if pos certification process is mandatory or not.", null)]
CertificationType CertificationType { get; }
Property Value
CompanyIdentification
Returns mapping for company identification to local numbering systems.
[HelpInformation("Specifies the unique identifier assigned to a company by a government or regulatory authority.", null)]
Dictionary<CompanyIdentification.IdentificationType, CompanyIdentificationInformation> CompanyIdentification { get; }
Property Value
CountryModuleVersion
Returns the version of the country module.
[HelpInformation("Indicates the currently valid version of the Trusted Fiscal Country Module", null)]
Version CountryModuleVersion { get; }
Property Value
CustomerDisplayMandatory
True if the customer display fiscal interface has to be implemented; otherwise false.
[HelpInformation("Indicates whether customer display must be used mandatory (true, else: false).", null)]
bool CustomerDisplayMandatory { get; }
Property Value
DocumentTypeBusinessTransactionTypeSupport
Returns a dictionary for information which document type supports which business transaction type.
Dictionary<DocumentType, Dictionary<BusinessTransactionType, bool>> DocumentTypeBusinessTransactionTypeSupport { get; }
Property Value
Remarks
If document type is set, but business transaction type dictionary is null -> all business transaction types are allowed. If document type is not found, all business transaction types are allowed. If document type and business transaction type is found, value must be true to be supported.
DokumentBookDateMustBeAscending
Indicates if document book date must be ascending.
[HelpInformation("Indicates if document book date must be ascending.", null)]
DokumentBookDateMustBeAscendingType DokumentBookDateMustBeAscending { get; }
Property Value
EntityParameters
Returns a list of optional and mandatory entity parameters.
List<EntityParameterInfo> EntityParameters { get; }
Property Value
Remarks
Entity parameters are parameters to master data entities (distributor, organization, company, store, terminal) which are necessary for fiscal client configuration.
FiscalCountry
The fiscal country for this property collection.
FiscalCountry FiscalCountry { get; }
Property Value
FiscalDocumentTypes
Returns a list of all fiscal necessary document types for this country.
List<DocumentType> FiscalDocumentTypes { get; }
Property Value
FiscalLineInterface
True if the items must be transmitted to the fiscal interface individually; False if the whole document must be transmitted at once.
[HelpInformation("Indicates if line-by-line printing is mandatory (true, else:false).", null)]
bool FiscalLineInterface { get; }
Property Value
FiscalModuleCalculatesTaxRates
True if the tax rates for the receipt are calculated by the fiscal module; otherwise false.
[HelpInformation("Indicates whether the VAT rates are calculated by the respective fiscal module of the country.", null)]
bool FiscalModuleCalculatesTaxRates { get; }
Property Value
FiscalRegions
If the country has different fiscal regions, you can query this property for the fiscal regions for this country.
List<string> FiscalRegions { get; }
Property Value
FiscalisationType
Returns the type of the fiscalisation for this country.
[HelpInformation("Returns the type of the fiscalisation for this country.", null)]
FiscalisationType FiscalisationType { get; }
Property Value
GetCloudArchiveAccessLicense
Returns the cloud archive access license for the respective country.
string GetCloudArchiveAccessLicense { get; }
Property Value
Remarks
Return empty string if there is not cloud
ItemTypeClassificationRequired
True if classification of item is required; otherwise false.
bool ItemTypeClassificationRequired { get; }
Property Value
LegalForms
Legal forms
[HelpInformation("Company legal form defines your business structure, liability, and tax obligations. Options include sole proprietorship, partnership, LLC, corporation, and more. Consult a professional for guidance.", null)]
List<LegalForm> LegalForms { get; }
Property Value
MaximumHourIntervalForClosing
The maximum interval in hours between two daily closings. If set to -1 it is infinite.
[HelpInformation("Specifies the time period from the opening of the day within which a daily closing must be done.", null)]
int MaximumHourIntervalForClosing { get; }
Property Value
Remarks
If the maximum interval is set and documents (except EndOfDay) are sent to the service the documents are blocked with an exception.
MustRecordDocumentReprint
True if the methods TrustedFiscalModule.ReprintDocument(Guid, User, string, int) or TrustedFiscalModule.ReprintDocument(Document, string) must be used to store the number of reprints of a document.
[HelpInformation("Indicates whether it is obligatory to record reprints of documents (true, else: false)", null)]
bool MustRecordDocumentReprint { get; }
Property Value
MustSendCanceledPosition
Returns how deleted positions have to be handled.
[HelpInformation("Specifies how deleted positions are going to be handled. If true, the deleted positions have to be sent together with their counterparts", null)]
bool MustSendCanceledPosition { get; }
Property Value
MustSendClosingPerDay
True if the pos software must send a closing EndOfDay document each day; otherwise false.
[HelpInformation("Indicates if it is obligatory to do a daily closing of the cash register system.", null)]
bool MustSendClosingPerDay { get; }
Property Value
NetValuePositionCalculation
Returns how the tax positions will be validated.
[HelpInformation("Specifies how the tax positions will be validated. If true, only net values will be summed per vatpercent and vat will be calculated only at document level.", null)]
bool NetValuePositionCalculation { get; }
Property Value
NotSupportedBusinessTransactionTypes
Returns a list of all not supported business transaction types.
List<BusinessTransactionType> NotSupportedBusinessTransactionTypes { get; }
Property Value
NotSupportedDocumentTypes
Returns a list of not supported document types (normal case: MiscellaneousNonFiscal.
List<DocumentType> NotSupportedDocumentTypes { get; }
Property Value
Remarks
A not supported document type must not be included in FiscalDocumentTypes.
NotSupportedPayOutTypes
Returns a list of all not supported pay out types.
List<PayOutType> NotSupportedPayOutTypes { get; }
Property Value
NotSupportedPaymentTypes
Returns a list of all not supported payment types.
List<PaymentType> NotSupportedPaymentTypes { get; }
Property Value
OverpaymentNotAllowed
Returns a list of payments for which overpayment (and thus cash return) is not allowed, e.g. voucher payment in some countries.
List<PaymentType> OverpaymentNotAllowed { get; }
Property Value
PrintFiscalDocumentNumber
Returns whether the fiscal document number (of FiscalResponse) has to be printed out on the receipt or not.
bool PrintFiscalDocumentNumber { get; }
Property Value
PrinterSupportsAdditionalFooter
True if additional header printing is supported/implemented; otherwise false.
[HelpInformation("Indicates if additional footer printing is supported/implemented.", null)]
bool? PrinterSupportsAdditionalFooter { get; }
Property Value
- bool?
PrinterSupportsAdditionalHeader
True if additional header printing is supported/implemented; otherwise false.
[HelpInformation("Indicates if additional header printing is supported/implemented.", null)]
bool? PrinterSupportsAdditionalHeader { get; }
Property Value
- bool?
PrinterSupportsBarcode
True if printing of barcodes on receipt is supported/implemented; otherwise false.
[HelpInformation("Indicates if printing of barcodes on receipt is supported/implemented.", null)]
bool? PrinterSupportsBarcode { get; }
Property Value
- bool?
PrinterSupportsCouponData
True if additional printing of coupon data is supported/implemented; otherwise false.
[HelpInformation("Indicates if additional printing of coupon data is supported/implemented.", null)]
bool? PrinterSupportsCouponData { get; }
Property Value
- bool?
PrinterSupportsCouponDataGraphic
True if additional graphic printing is supported/implemented; otherwise false.
[HelpInformation("Indicates if additional printing of coupon data graphic is supported/implemented.", null)]
bool? PrinterSupportsCouponDataGraphic { get; }
Property Value
- bool?
PrinterSupportsPositionGraphics
True if printing of positioned graphics is supported/implemented; otherwise false.
[HelpInformation("Indicates if printing of positioned graphics is supported/implemented.", null)]
bool? PrinterSupportsPositionGraphics { get; }
Property Value
- bool?
PrinterSupportsPrintCardData
True if additional printing of card data is supported/implemented; otherwise false.
[HelpInformation("Indicates if additional printing of card data is supported/implemented.", null)]
bool? PrinterSupportsPrintCardData { get; }
Property Value
- bool?
ReprintAllowedDomain
Returns the domain within reprints are allowed.
[HelpInformation("Specifies the domain within which a document may be reprinted: only at the same cash register, in the same shop/branch/organization but on a different cash register, or also in another shop/branch/organization.", null)]
ReceiptDomain ReprintAllowedDomain { get; }
Property Value
RequiredTimeZone
If set, time zone will be validated; otherwise null or empty.
[HelpInformation("Indicates whether time zone should be validated for respective country.", null)]
string? RequiredTimeZone { get; }
Property Value
RequiresParagonRegistration
Returns cash registers must subsequently record handwritten documents (=paragons) which were created in offline mode.
[HelpInformation("If true, cash registers must subsequently record handwritten documents (=paragons) which were created in offline mode.", null)]
bool RequiresParagonRegistration { get; }
Property Value
ReturnAndSaleBehavior
Returns whether one or more receipts have to be created when return and sales would both exist on one receipt.
[HelpInformation("Indicates whether it is allowed to mix sales transactions and redemptions (exchanges) on one receipt or whether they must be recorded separately (multipleReceiptAllowed).", null)]
ReturnAndSaleBehavior ReturnAndSaleBehavior { get; }
Property Value
ReturnDomainAllowed
Returns the domain where document references are allowed.
[HelpInformation("Specifies within which domain a return of goods may be made; only at the same cash register as the sales transaction, at another cash register at the same location / branch / organization etc., or also at another location / branch / organization etc. of the same company.", null)]
ReceiptDomain ReturnDomainAllowed { get; }
Property Value
ReturnReferenceBehavior
Returns if more than one document is allowed to reference in one document (Multiple); otherwise not (Single).
[HelpInformation("Specifies whether multiple sales transactions (multiple) or only a single sales transaction (single) may be referenced for a return of goods / services.", null)]
ReturnReferenceBehavior ReturnReferenceBehavior { get; }
Property Value
RoundingSummaryInEndOfDay
Indicates if rounding summary should be printed in end of day document.
[HelpInformation("Indicates if rounding summary should be printed in end of day document.", null)]
bool RoundingSummaryInEndOfDay { get; }
Property Value
StartDocumentType
Returns the start document type for initialization.
[HelpInformation("Returns the start document type for initialization.", null)]
DocumentType StartDocumentType { get; }
Property Value
StoreNumberValidCharsRegex
The valid characters for the store number in this country (default: a-z0-9_).
string StoreNumberValidCharsRegex { get; }
Property Value
Remarks
This regex is Microsoft .net notation (for special characters and functions).
SupportedBusinessTransactionTypes
Returns a list of all supported business transaction types.
List<BusinessTransactionType> SupportedBusinessTransactionTypes { get; }
Property Value
SupportedDocumentTypes
Returns a list of all by the fiscal module supported document types. Contains all document types (including fiscal document types).
[HelpInformation("Returns all document types which are supported in this country.", null)]
List<DocumentType> SupportedDocumentTypes { get; }
Property Value
Remarks
A supported document type can be send to the fiscal system, but is not a fiscalized document. Non fiscalized documents normally will not send a FiscalResponse.
SupportedEnvironments
Returns the supported environments for the fiscal module.
List<FiscalModuleEnvironment> SupportedEnvironments { get; }
Property Value
SupportedItemTypeClassification
Returns a list of supported item classification
List<ItemTypeClassification> SupportedItemTypeClassification { get; }
Property Value
SupportedLegislation
Returns the supported legislation/regulation in this country (as string). For instance Denmark 1.5.2 or France NF525 2.3.
[HelpInformation("Returns the supported legislation/regulation in this country (as string). For instance Denmark 1.5.2 or France NF525 2.3.", null)]
string SupportedLegislation { get; }
Property Value
SupportedPayOutTypes
Returns a list of all supported pay out types.
List<PayOutType> SupportedPayOutTypes { get; }
Property Value
SupportedPaymentTypes
Returns a list of all supported payment types.
List<PaymentType> SupportedPaymentTypes { get; }
Property Value
SupportedPlatformTypes
Returns a list of all supported os platform types.
List<PlatformType> SupportedPlatformTypes { get; }
Property Value
Remarks
Please note that although os platform is supported by the country, there could be limitation by a possible security device (tss in Germany, ...)
SupportedVatDefinitions
Returns the supported vat definitions for this country.
ReadOnlyCollection<Vat> SupportedVatDefinitions { get; }
Property Value
Remarks
It is important that values in this list are not changed but only added with respective date span (ValidFrom, ValidTo) to keep the history of vat rates!
SurchargesPossible
True if surcharges in fiscal document types are allowed; otherwise false.
[HelpInformation("Indicates whether surcharges are allowed in the respective country.", null)]
bool SurchargesPossible { get; }
Property Value
TaxFreeVat
The tax free vat class for this country.
Vat TaxFreeVat { get; }
Property Value
TerminalNumberValidCharsRegex
The valid characters for the terminal number in this country (default: a-z0-9_).
string TerminalNumberValidCharsRegex { get; }
Property Value
Remarks
This regex is Microsoft .net notation (for special characters and functions).
TerminalSlaveSupported
True if this country supports slave terminals; otherwise false.
[HelpInformation("Indicates if this country supports slave terminals (additional terminals for input).", null)]
bool TerminalSlaveSupported { get; }
Property Value
TrainingModeAllowed
True if the training mode in this country is allowed; otherwise false.
[HelpInformation("Indicates whether a training / demo / training mode of the cash register is allowed in the respective country.", null)]
bool TrainingModeAllowed { get; }
Property Value
Methods
GetVatIdentification(decimal, DateTime, decimal?)
Returns the appropriate vat identification for the requested percentage and date/time.
int? GetVatIdentification(decimal vatPercent, DateTime requestDate, decimal? vatPercent2)
Parameters
vatPercentdecimalThe vat percentage for the requested vat identification.
requestDateDateTimeThe date/time for the requested vat identification.
vatPercent2decimal?The vat percentage 2 for the requested vat identification, optional.
Returns
- int?
An integer representing the vat identification for the requested values; null if nothing is found.
ValidateClient(FiscalClient, bool)
Validates a fiscal client.
List<ValidationError> ValidateClient(FiscalClient client, bool isNewClient = false)
Parameters
clientFiscalClientThe client to validate.
isNewClientboolFlag for enhanced client validation if set.
Returns
- List<ValidationError>
A list of RetailForce.Common.Validation.ValidationError objects representing the validation errors for the client configuration. Null if no validation was done.
Exceptions
- ArgumentNullException
Thrown if
clientis set to null.