In this article you will learn how to query the different properties of the countries and also how to find them in the RetailForce cloud. At the end of the article you will find an explanation of the different elements of the fiscalCountryProperties.
In order to illustrate the necessary implementations for your implementation, the country properties (FiscalCountryProperties) were created. These show which parts of the overall interface must at least be implemented for each country.
The country properties are available from version V1.2.12 (except client from V1.2.13).
Query the country properties in the cloud
The country properties can be accessed in the Cloud Portal under the following link:
https://portal.retailforce.cloud/information/fiscal-country
To access the FiscalCountryProperties, you must be logged in to the portal.
Query the country properties on the client
The country properties can also be queried via the programme. This makes it possible to react to various country properties in the cash register programme.
Example: a document type is not allowed in a country and is therefore not supported.
Query via direct implementation (nuget)
To query all existing country properties of all countries, the following method can be called:
List<IFiscalCountryProperties> TrustedFiscalModul.GetFiscalCountryPropertiesList()Query via client
Rest Service
At the REST service there are 2 endpoints to query the country properties:
GET /api/v1/information/countryPropertiesThis method can be used to query the country properties for a country.
/api/v1/information/client/{clientId}/countryPropertiesThis method can be used to query the country properties for a client.
Fiscal Service client
On the Fiscal Service client (.net Standard 2.0 and .net Framework 2) there are the following methods to query the country properties.
FiscalCountryProperties GetFiscalCountryProperties(FiscalCountry fiscalCountry)This method can be used to query the country properties for a country.
FiscalCountryProperties GetFiscalCountryProperties(Guid clientId)This method can be used to query the country properties for a client.
fiscalCountryProperties - Explanation
The fiscalCountryProperties contain data that is purely informative in nature, as well as information relevant for implementation.
Informative data is marked with INFO in the "Type" column. Data that should be taken into account during implementation is marked with "RFI" (relevant for implementation).
| fiscalCountryProperty | Type | Description |
| fiscalCountry | INFO |
indicates the corresponding country. If the fiscalCountryProperties are queried via GET /api/v1/information/client/{clientId}/ countryProperties, the country assigned to the respective client is specified. |
| countryModuleVersion | INFO | Current version of the Trusted Fiscal Country Module within the middleware (relevant for countries in which a specific software version must be certified; e.g. France). |
| certificationType | INFO |
Specifies whether certification of a fiscalisation component is required in a country, or what needs to be certified. "mandatory" - Certification of the upstream system (e.g. cash register) is mandatory. In this case, the cash register must undergo a certification or approval process. "miniPOS" - Certification is mandatory, but is fulfilled by an already certified component that may be integrated into the RetailForce middleware. "notNecessary" - No certification of the previous system required. |
| fiscalLineInterface | RFI |
"true" - in the respective country, data must be sent line by line e.g. to a fiscal printer.
"false" - Document-based interface (no line-by-line printing).
|
| fiscalisationType | INFO |
Specifies the type of fiscalisation. "fiscalPrinter" - Fiscalisation is based on a certified fiscal printer or a certified fiscal cash register system.
"online" - Fiscalisation via online systems of the local tax authorities.
"signature" - Fiscalisation by signing receipt data using a digital certificate stored in the fiscalisation service.
"signatureWithOnline" - Fiscalisation by creating signatures and transmitting data online to the tax authorities.
|
| supportedEnvironments | RFI |
Specifies which environment is supported: "local" - local installation of the fiscal middleware (local on the POS system, on the store server, etc.)
"cloud" - fiscal middleware is available as a hosted cloud service at https://fiscalisation.retailforce.cloud/.
|
| supportedPlatformTypes | RFI |
Specifies which operating systems/platforms are supported. "linux"
"windows"
"ios"
"android"
|
| supportedLegislation | INFO |
Specifies which legal requirements are supported and their versions. E.g. for Greece: "myData v1.x.x" |
| fiscalDocumentTypes | RFI |
Document types that are to be "fiscalised" in the respective country. For example, they must be processed by the prescribed hardware component, signed, etc. "documentTypes" listed under "fiscalDocumentTypes" are automatically processed (e.g. signed) in the respective country by the fiscalisation service in accordance with fiscalisation laws. These document types MUST be transmitted to the fiscalisation service in the respective country, provided that the upstream system ("cash register") supports them. |
| supportedDocumentTypes | RFI |
List of document types supported in each country. In addition to the "fiscalDocumentTypes", the document types listed under "supportedDocumentTypes" CAN be transmitted to the fiscalisation service. These document types are so-called "non-fiscal" documents, i.e. those that are not "fiscalised" (e.g. signed). |
| notSupportedDocumentTypes | RFI |
List of document types not supported in the respective country. "DocumentTypes" listed under "notSupportedDocumentTypes" cannot be transmitted to the fiscalisation service in the respective country. Reasons for this may be technical impossibility or country-specific regulations/laws. If a "notSupportedDocumentType" is sent to the fiscalisation service, it will respond with an error message ("documentType not supported!"). The upstream system should not allow these document types in the relevant country. |
| supportedPaymentTypes | RFI |
List of payment methods supported (accepted) in the respective country. These payment methods can be used in the respective country. The upstream system should only offer the cash register user supported payment methods in the respective country. |
| notSupportedPaymentTypes | RFI |
List of payment methods that are not supported (or not permitted) in the respective country. The upstream system should suppress not supported payment methods in the respective country. |
| overpaymentNotAllowed | RFI |
List of payment methods (paymentTypes) for which overpayment of the amount owed is not permitted in the country concerned. Examples: Receipt total = EUR 38.50
These transactions are not permitted in some countries (meaning, cannot be sent to the fiscalization system). This means that payment amounts ("payment.amount") must always correspond to the gross total of the items ("grossValue" of all "positions") and no negative payment amounts may be transferred. |
| supportedBusinessTransactionTypes | RFI |
List of business case types supported in each country. These business cases can be used in the respective country, unlike notSupportedBusinessTransactionTypes. |
| notSupportedBusinessTransactionTypes | RFI |
List of business case types that are not supported (or are not permitted) in the respective country. These business cases cannot be used in the respective country and should be suppressed by the source system and not transmitted to the fiscalisation service. |
| supportedVatDefinitions | RFI |
Detailed information on the VAT rates supported in each country. This array contains the following information:
|
| companyIdentification | RFI | Information on which company identifiers must be used in the respective country. |
| customerDisplayMandatory | RFI |
"not mandatory" - Customer display is not required (no obligation). "mandatory (no-RF)" - Customer display is mandatory, but is not controlled via RetailForce Middleware. Control is carried out automatically by the respective fiscalisation system (e.g. automatically by the fiscal printer). "mandatory (RF)" - It is mandatory to use a customer display must and it is controlled via the RetailForce middleware.
"not allowed" - Use of a customer display is prohibited in this country. |
| terminalSlaveSupported | RFI |
Specifies whether input devices must be registered in the respective country ("true" / "false"). Input devices are not stand-alone recording systems. For more information, see: Architectures of electronic recording systems (EAS) |
| auditLogMandatory | RFI |
"true" - in the respective country there is a requirement to keep a technical journal (audit log) (in this case included in the RF licence).
"false" - there is no requirement to keep a technical journal (not included in licence).
|
| mustRecordDocumentReprint | RFI |
"true" - in the corresponding country, the reprint of a document must be recorded obligatorily.
"false" - Reprinting of a document does not have to be recorded as mandatory. |
| reprintAllowedDomain | RFI |
"terminal" - A document may only be reprinted on the same cash register on which the original document was issued. "store" - Reprints of a document may only be made within the same branch /store where also the original document was issued.
"all" - Reprinting of a document may be done on another cash register as well as in another branch / store of the same company.
|
| mustSendClosingPerDay | RFI |
"true" - a daily closing (Z-report) must be generated once a day.
"false" - no requirement for a daily closing. |
| maximumHourIntervalForClosing | RFI |
Indicates the period of time since the cash register daily opening within which a daily closing must take place (e.g. within 24h). "-1" - not set. |
| returnAndSaleBehavior | RFI |
Specify whether sales and returns may be recorded simultaneously on a receipt (document). "oneReceiptAllowed" - allowed (sales and returns can be shown mixed on one receipt).
"oneReceiptAllowedVat" - as long as the VAT amount remains positive, sales and returns can be recorded on a single (the same) receipt. "multiReceipt" - Sales and returns must be recorded on different receipts.
"NoReturnAllowed" - in the respective country, returns processing via the fiscalization system is not possible. In these countries, returns are often handled via special forms or similar in the accounting department. |
| returnDomainAllowed | RFI |
Where may purchased items be returned? "terminal" - Items may only be taken back at the same cash desk (voucher issue) at which the original sale was made. "store" - Items may only be returned to the same branch /store (voucher issue) where the original sale was made. "all" - Items may also be returned to different branches of the same company. |
| returnReferenceBehavior | RFI |
Document reference for returns "single" - in the case of returns, reference may only be made to ONE previous document (sales document of the returned services or goods).
"multiple" - in case of returns, references to multiple previous documents (multiple sales receipts if multiple services or goods from multiple purchases are returned) may be made.
|
| printFiscalDocumentNumber | RFI |
Specifies whether the "fiscalDocumentNumber" element of the "fiscalResonse" of the corresponding country must be printed on documents.
|
| taxFreeVat | ||
| getCloudArchiveAccessLicense | Returns the necessary licence for cloud archiving of fiscal data. | |
| surchargesPossible | RFI |
"true" - in the respective country, surcharges on goods or services are permitted.
"false" - Price surcharges are not allowed. |
| trainingModeAllowed | RFI |
Indicates whether a training / demo mode of the cash register is permitted in the respective country "true" - allowed.
"false" - Cash register must not have a training / demo mode. |
| netValuePositionCalculation | RFI |
"true" - The sum of the individual items is calculated based on the net amount (netValue) (e.g. Québec/Canada). "false" - The sum of the individual items is calculated based on the gross amount (grossValue) (default). |
| mustSendCanceledPosition | RFI |
"true" - Items that have been entered but are not subsequently included in the document must be transmitted in the payload (JSON). "false" - Items that have been entered but are not subsequently included in the document do not need to be transmitted. Note: For more information, see the article "Submitting deleted item positions". |
| startDocumentType | RFI |
Specifies the type of start document in the relevant country. Only relevant if the upstream system does NOT use the function GET /api/v1/transactions/document/{clientId}/start during initialisation and generates the respective start document itself. |
| supportedPayOutTypes | RFI |
List of payout types supported in the relevant country. The items listed under "supportedPayOutTypes" can/must be specified for payouts ("documentType": "[10] = PayOut" and "businessTransactionType": "[10] = PayOut"). |
| notSupportedPayOutTypes | RFI | List of payout types that are not supported (or not permitted) in the country in question. |
| fiscalModuleCalculatesTaxRates | RFI |
Indicates whether the VAT rates are calculated by the respective fiscalisation module of the country. "true" - Fiscalisation module calculates VAT rates. "false" - cash register must calculate VAT rates. |
| storeNumberValidCharsRegex | RFI | Permitted RegEx for the store number (branch number) |
| terminalNumberValidCharsRegex | RFI | Permitted RegEx for the terminal number (cash register number) |
| fiscalRegions | RFI | Indication of fiscal regions, if applicable in the country concerned. |
| amountDecimalPlaces | RFI |
Specifies whether and how many decimal places must be included in the JSON-document to the Fiscal Middleware when sending amounts / totals. Applies to all value specifications in the payload ("GrossValue"," NetValue", "TaxValue", "Amount", etc.) |
| entityParameters | Specifies which parameters must be stored for which portal entities. | |
| legalForms | RFI | List of legal forms of companies available in the country. |
| itemTypeClassificationRequired | RFI | In some countries, a more detailed specification of certain items is required. If the value of this property is “true”, the values specified in `supportedItemTypeClassification` must be set for the relevant items in the respective country (The property itemTypeClassification must be set accordingly in the positions object). |
| supportedItemTypeClassification | RFI | Specifies which items must be specially marked in the respective country (The property itemTypeClassification must be set accordingly in the positions object). |
| documentTypeBusinessTransactionTypeSupport | RFI | Information about which BusinessTransactionTypes can be combined with which documentTypes. |
Comments
0 comments
Please sign in to leave a comment.