Class FiscalCountryPropertiesBase<TRequiredAttribute>
- Namespace
- RetailForce.Fiscalisation.Implementation
- Assembly
- RetailForce.Fiscalisation.Model.dll
Abstract base class for all fiscal country properties.
public abstract class FiscalCountryPropertiesBase<TRequiredAttribute> : IFiscalCountryProperties where TRequiredAttribute : RequiredAttribute
Type Parameters
TRequiredAttributeThe type of the country specific RequiredAttribute.
- Inheritance
-
FiscalCountryPropertiesBase<TRequiredAttribute>
- Implements
- Derived
- Inherited Members
Properties
AdditionalTaxesMayApply
True if additional taxes have to be sent according to the legislation; otherwise false.
public abstract bool AdditionalTaxesMayApply { get; }
Property Value
AmountDecimalPlaces
Returns the number of allowed decimal places for each amount (price, values, tax values, etc.).
public virtual int AmountDecimalPlaces { get; }
Property Value
AuditLogMandatory
True if the audit log has to be filled up; otherwise false.
public abstract bool AuditLogMandatory { get; }
Property Value
CertificationType
Returns if pos certification process is mandatory or not.
public abstract CertificationType CertificationType { get; }
Property Value
CompanyIdentification
Returns mapping for company identification to local numbering systems.
public abstract Dictionary<CompanyIdentification.IdentificationType, CompanyIdentificationInformation> CompanyIdentification { get; }
Property Value
CountryModuleVersion
Returns the version of the country module.
public abstract Version CountryModuleVersion { get; }
Property Value
CustomerDisplayMandatory
True if the customer display fiscal interface has to be implemented; otherwise false.
public abstract bool CustomerDisplayMandatory { get; }
Property Value
DocumentTypeBusinessTransactionTypeSupport
Returns a dictionary for information which document type supports which business transaction type.
public virtual 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.
public virtual DokumentBookDateMustBeAscendingType DokumentBookDateMustBeAscending { get; }
Property Value
EntityParameters
Returns a list of optional and mandatory entity parameters.
public virtual 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.
public abstract FiscalCountry FiscalCountry { get; }
Property Value
FiscalDocumentTypes
Returns a list of all fiscal necessary document types for this country.
public abstract 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.
public abstract bool FiscalLineInterface { get; }
Property Value
FiscalModuleCalculatesTaxRates
True if the tax rates for the receipt are calculated by the fiscal module; otherwise false.
public virtual 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.
public virtual List<string> FiscalRegions { get; }
Property Value
FiscalisationType
Returns the type of the fiscalisation for this country.
public abstract FiscalisationType FiscalisationType { get; }
Property Value
GetCloudArchiveAccessLicense
Returns the cloud archive access license for the respective country.
public abstract string GetCloudArchiveAccessLicense { get; }
Property Value
Remarks
Return empty string if there is not cloud
ItemTypeClassificationRequired
True if classification of item is required; otherwise false.
public virtual bool ItemTypeClassificationRequired { get; }
Property Value
LegalForms
Legal forms
public virtual List<LegalForm> LegalForms { get; }
Property Value
MaximumHourIntervalForClosing
The maximum interval in hours between two daily closings. If set to -1 it is infinite.
public abstract 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.
public abstract bool MustRecordDocumentReprint { get; }
Property Value
MustSendCanceledPosition
Returns how deleted positions have to be handled.
public virtual bool MustSendCanceledPosition { get; }
Property Value
MustSendClosingPerDay
True if the pos software must send a closing EndOfDay document each day; otherwise false.
public abstract bool MustSendClosingPerDay { get; }
Property Value
NetValuePositionCalculation
Returns how the tax positions will be validated.
public virtual bool NetValuePositionCalculation { get; }
Property Value
NotSupportedBusinessTransactionTypes
Returns a list of all not supported business transaction types.
public abstract List<BusinessTransactionType> NotSupportedBusinessTransactionTypes { get; }
Property Value
NotSupportedDocumentTypes
Returns a list of not supported document types (normal case: MiscellaneousNonFiscal.
public abstract 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.
public virtual List<PayOutType> NotSupportedPayOutTypes { get; }
Property Value
NotSupportedPaymentTypes
Returns a list of all not supported payment types.
public abstract 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.
public abstract 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.
public abstract bool PrintFiscalDocumentNumber { get; }
Property Value
PrinterSupportsAdditionalFooter
True if additional header printing is supported/implemented; otherwise false.
public virtual bool? PrinterSupportsAdditionalFooter { get; }
Property Value
- bool?
PrinterSupportsAdditionalHeader
True if additional header printing is supported/implemented; otherwise false.
public virtual bool? PrinterSupportsAdditionalHeader { get; }
Property Value
- bool?
PrinterSupportsBarcode
True if printing of barcodes on receipt is supported/implemented; otherwise false.
public virtual bool? PrinterSupportsBarcode { get; }
Property Value
- bool?
PrinterSupportsCouponData
True if additional printing of coupon data is supported/implemented; otherwise false.
public virtual bool? PrinterSupportsCouponData { get; }
Property Value
- bool?
PrinterSupportsCouponDataGraphic
True if additional graphic printing is supported/implemented; otherwise false.
public virtual bool? PrinterSupportsCouponDataGraphic { get; }
Property Value
- bool?
PrinterSupportsPositionGraphics
True if printing of positioned graphics is supported/implemented; otherwise false.
public virtual bool? PrinterSupportsPositionGraphics { get; }
Property Value
- bool?
PrinterSupportsPrintCardData
True if additional printing of card data is supported/implemented; otherwise false.
public virtual bool? PrinterSupportsPrintCardData { get; }
Property Value
- bool?
ReprintAllowedDomain
Returns the domain within reprints are allowed.
public abstract ReceiptDomain ReprintAllowedDomain { get; }
Property Value
RequiredTimeZone
If set, time zone will be validated; otherwise null or empty.
public abstract string? RequiredTimeZone { get; }
Property Value
RequiresParagonRegistration
Returns cash registers must subsequently record handwritten documents (=paragons) which were created in offline mode.
public virtual 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.
public abstract ReturnAndSaleBehavior ReturnAndSaleBehavior { get; }
Property Value
ReturnDomainAllowed
Returns the domain where document references are allowed.
public abstract ReceiptDomain ReturnDomainAllowed { get; }
Property Value
ReturnReferenceBehavior
Returns if more than one document is allowed to reference in one document (Multiple); otherwise not (Single).
public abstract ReturnReferenceBehavior ReturnReferenceBehavior { get; }
Property Value
RoundingSummaryInEndOfDay
Indicates if rounding summary should be printed in end of day document.
public virtual bool RoundingSummaryInEndOfDay { get; }
Property Value
StartDocumentType
Returns the start document type for initialization.
public virtual DocumentType StartDocumentType { get; }
Property Value
StoreNumberValidCharsRegex
The valid characters for the store number in this country (default: a-z0-9_).
public virtual 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.
public abstract 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).
public abstract 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.
public virtual List<FiscalModuleEnvironment> SupportedEnvironments { get; }
Property Value
SupportedItemTypeClassification
Returns a list of supported item classification
public virtual 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.
public virtual string SupportedLegislation { get; }
Property Value
SupportedPayOutTypes
Returns a list of all supported pay out types.
public virtual List<PayOutType> SupportedPayOutTypes { get; }
Property Value
SupportedPaymentTypes
Returns a list of all supported payment types.
public abstract List<PaymentType> SupportedPaymentTypes { get; }
Property Value
SupportedPlatformTypes
Returns a list of all supported os platform types.
public abstract 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.
public abstract 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.
public abstract bool SurchargesPossible { get; }
Property Value
TaxFreeVat
The tax free vat class for this country.
public abstract Vat TaxFreeVat { get; }
Property Value
TerminalNumberValidCharsRegex
The valid characters for the terminal number in this country (default: a-z0-9_).
public virtual 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.
public abstract bool TerminalSlaveSupported { get; }
Property Value
TrainingModeAllowed
True if the training mode in this country is allowed; otherwise false.
public abstract bool TrainingModeAllowed { get; }
Property Value
Methods
CheckAddress(List<ValidationError>, string, Address)
Checks if address is not null and if address fields (Street, StreetNumber, City, PostalCode) are set.
protected void CheckAddress(List<ValidationError> errorList, string objectName, Address address)
Parameters
errorListList<ValidationError>The error list to add possible validation errors.
objectNamestringThe name of the object for the error message.
addressAddressThe address object itself.
Exceptions
- ArgumentNullException
Thrown if parameter
errorListis set to null.- ArgumentNullException
Thrown if parameter
objectNameis set to null or Empty.
CompanyIdentificationSet(FiscalClient, IdentificationType)
Returns whether the given type exists and is filled up with at least one character.
protected bool CompanyIdentificationSet(FiscalClient client, CompanyIdentification.IdentificationType type)
Parameters
clientFiscalClientThe client to check.
typeCompanyIdentification.IdentificationTypeThe type to check.
Returns
- bool
True if the given type exists and the identification field is filled up with at lease one character.
GetFiscalCountryProperties(FiscalCountry)
Returns the fiscal country properties object for the requested country.
public static IFiscalCountryProperties GetFiscalCountryProperties(FiscalCountry fiscalCountry)
Parameters
fiscalCountryFiscalCountryThe fiscal country where the
Returns
- IFiscalCountryProperties
The fiscal country properties object for the requested country.
GetFiscalCountryPropertiesList()
Returns all fiscal country properties stored in the fiscalisation module.
public static List<IFiscalCountryProperties> GetFiscalCountryPropertiesList()
Returns
- List<IFiscalCountryProperties>
A list of all fiscal country properties stored in the fiscalisation module.
GetVatIdentification(decimal, DateTime, decimal?)
Returns the appropriate vat identification for the requested percentage and date/time.
public virtual 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.
public 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.
ValidateClientImplementation(FiscalClient, bool)
Validate client implementation for specific country
protected abstract List<ValidationError> ValidateClientImplementation(FiscalClient client, bool isNewClient)
Parameters
clientFiscalClientFiscal client
isNewClientboolFlag to indicate if client is newly created. If true, extended checks are performed.
Returns
- List<ValidationError>