Este artigo aborda o objeto «Header» («pagamentos»), ou seja, os elementos do «Header» dentro do objeto «Document».
Pode encontrar uma descrição completa do RetailForce DOM (Modelo de Objetos de Documento), bem como uma descrição dos elementos individuais, na secção «Downloads» do RetailForce website (Documentação do modelo de objetos.pdf), no respetivo diretório de versões.
Objeto «Header»
{
"uniqueClientId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"applicationVersion": "6.2.5",
"applicationVersionId": "string",
"applicationVersionPrevious": "string",
"fiscalModuleVersion": "1.8.8",
"fiscalCountryModuleVersion": "1.0.5",
"softwareName": "GreatesPOS",
"retailForceReceiptId": "W3D9C2Q1",
"additionalFields": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"automaticVatCalculation": "noCalculation",
"allowedVatDeviation": 0.01,
"terminalSlaveId": "Pad05",
"cashRegisterSerialNumber": "CR123456789",
"footerGraphicIndex": 5,
"auditLogEntryType": "other",
"amount": 0,
"identifier": "string",
"documentGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"documentId": "S962-000001287",
"createDate": "2023-04-27T17:27:12+01:00",
"bookDate": "2023-04-27T17:27:12+01:00",
"accountingDate": "2023-04-27T17:27:12+01:00",
"processStartDate": "2023-04-27T17:27:12+01:00",
"documentNumber": "000001287",
"documentNumberSeries": "Kassenbelege",
"cancellationDocument": false,
"failedToPay": false,
"documentReference": {
"referenceType": "[0] = Cancellation",
"storeNumber": "Restaurant 03",
"terminalNumber": "002",
"documentType": "[0] = Receipt",
"documentNumber": "000000895",
"documentNumberSeries": "Kassenbelege",
"fiscalDocumentNumber": 0,
"documentGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"documentId": "S962-000000895",
"documentBookDate": "2023-04-27T17:27:12+01:00",
"returnReasonType": "userMistake",
"returnReasonText": "Fehler passiert"
},
"isTraining": true,
"testCaseNumber": "string",
"documentType": "[0] = Receipt",
"documentTypeCaption": "Verkaufsbeleg",
"user": {
"id": "03",
"caption": "Bedienung 03",
"firstName": "Franz",
"lastName": "Österreicher",
"taxNumber": "123456789",
"dateOfEntry": "2022-10-01T08:00:00+01:00"
},
"salesPerson": {
"id": "04",
"caption": "Kassier 04",
"firstName": "Sandra",
"lastName": "Hurtig",
"taxNumber": "987654321",
"dateOfEntry": "2022-10-01T08:00:00+01:00"
},
"allocationGroups": [
"Tisch 127"
],
"partner": {
"id": "ABC1234567",
"caption": "Kunde",
"isBusiness": false,
"partnerType": "[0] = Customer",
"partnerClassification": "Privatkunde",
"vatNumber": "n.a.",
"taxNumber": "n.a.",
"identificationType": "passport",
"partnerIdentification": "ABC1234567",
"addressType": "BillingAddress",
"additionalIdentifications": {
"lotteryId": "1234567",
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"street": "Musterstraße",
"streetNumber": "186",
"postalCode": "1010",
"city": "Wien",
"community": "n.a.",
"countryCode": "AT"
},
"notes": "Anmerkungen",
"customerCount": 1,
"paymentTerms": {
"dueDateDays": 0,
"discount": 0,
"discountDueDays": 0,
"latePaymentPenaltyRate": 0
},
"servicePeriodStart": "2023-04-27T17:27:12+01:00",
"servicePeriodEnd": "2023-04-27T17:27:12+01:00",
"positionCount": 1,
"documentIssueType": "paper",
"coupon": {
"header": [
{
"text": "string",
"barcodeType": "QrCode",
"barcode": "https://retailforce.cloud"
}
],
"grafic": "string",
"footer": [
{
"text": "string",
"barcodeType": "QrCode",
"barcode": "https://retailforce.cloud"
}
]
},
"serviceType": "string",
"isEcommerceTransaction": true,
"taxPositions": [
{
"vatIdentification": 0,
"vatLabel": "string",
"vatPercent1": 0,
"vatPercent2": 0,
"vatAmount": 0,
"vatAmount2": 0,
"netAmount": 0,
"grossAmount": 0
}
],
"fiscalResponse": {
"fiscalCountry": "[1] = Austria",
"certificationType": "string",
"fiscalisationType": "string",
"supportedPlatformTypes": "string",
"overpaymentNotAllowed": "boolean",
"documentTypeBusinessTransactionTypeSupport": "string",
"fiscalDocumentNumber": "0",
"taxPositions": [
{
"vatIdentification": 0,
"vatLabel": "string",
"vatPercent1": 0,
"vatPercent2": 0,
"vatAmount": 0,
"vatAmount2": 0,
"netAmount": 0,
"grossAmount": 0
}
],
"fiscalDocumentStartTime": 0,
"processStartTime": 0,
"errorDescription": "string",
"cashRegisterId": "string",
"signature": "string",
"userMessage": "string",
"printMessage": "string",
"requestTime": "2023-04-27T17:27:12+01:00",
"requestCompletionTime": "2023-04-27T17:27:12+01:00",
"qrCode": "string",
"printingFields": {},
"AdditionalFields": {}
},
"fiscalDocumentNumber": 0,
"fiscalDocumentRevision": 0,
"FiscalDocumentStartTime": 0,
"positions": [
{
"positionNumber": 0,
"positionReference": {
"positionNumber": 0,
"referenceType": "[0] = Cancellation",
"storeNumber": "string",
"terminalNumber": "string",
"documentType": "[0] = Receipt",
"documentNumber": "string",
"documentNumberSeries": "string",
"fiscalDocumentNumber": 0,
"documentGuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"documentId": "string",
"documentBookDate": "2023-04-27T17:27:12+01:00",
"returnReasonType": "userMistake",
"returnReasonText": "string"
},
"cancellationPosition": true,
"deletedPosition": false,
"type": "[0] = Item",
"itemCaption": "Sample Item",
"itemId": "ITEM-001",
"itemType": "[0] = Article",
"quantity": 1.0,
"quantityUnit": { "id": "Stk" },
"businessTransactionType": "[0] = Revenue",
"netValue": 10.0,
"grossValue": 12.0,
"taxValue": 2.0,
"ItemDateOfEntry": "2021-08-08T12:00:00+01:00",
"additionalFields": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"createDate": "2023-04-27T17:27:12+01:00",
"externalIdentifier": [
"string"
],
"user": {
"id": "string",
"caption": "string",
"firstName": "string",
"lastName": "string",
"taxNumber": "string",
"dateOfEntry": "2021-08-08T12:00:00+01:00"
},
"salesPerson": {
"id": "string",
"caption": "string",
"firstName": "string",
"lastName": "string",
"taxNumber": "string",
"dateOfEntry": "2021-08-08T12:00:00+01:00"
},
"FiscalAdditionalFields": {}
}
],
"payments": [
{
"amount": 12.0,
"currencyIsoCode": "EUR",
"caption": "string",
"uniqueReadablePaymentIdentifier": "string",
"foreignAmount": 0,
"foreignAmountExchangeRate": 0,
"additionalFields": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"paymentType": "creditCard",
"createDate": "2023-04-27T17:27:12+01:00",
"vatIdentification": 0,
"vatPercent": 0,
"taxValue": 0,
"externalIdentifier": [
"string"
],
"user": {
"id": "string",
"caption": "string",
"firstName": "string",
"lastName": "string",
"taxNumber": "string",
"dateOfEntry": "2021-08-08T12:00:00+01:00"
},
"salesPerson": {
"id": "string",
"caption": "string",
"firstName": "string",
"lastName": "string",
"taxNumber": "string",
"dateOfEntry": "2021-08-08T12:00:00+01:00"
},
"paymentTerminalReferenceId": "string",
"cardData": {
"receiptCopyCount": 0,
"receipt": [
"string"
],
"cardNumberMasked": "string",
"identificationToken": "string",
"merchantCopyCount": 0,
"merchantReceipt": [
"string"
],
"cardType": "VISA",
"authorizationCode": "AUTH123",
"terminalId": "TERM-A1",
"merchantId": "MERCH-B2",
"transactionId": "TRANS-C3",
"providerSignature": "string",
"providerTransactionId": "string",
"providerSignatureMessage": "string",
"transactionDate": "2023-04-27T17:27:12+01:00",
"transactionNumber": "string"
}
}
],
"additionalHeader": [
"string"
],
"additionalFooter": [
"string"
],
"FiscalAdditionalFields": {}
}O objeto Header contém as seguintes informações.
Informações na coluna «Tipo»:
- M ... obrigatório («mandatório»)
- M* ... obrigatório em determinados países ou sob determinadas condições
- R ... recomendado («recomendado»)
- O ... opcional
| Elemento | Tipo | Descrição | |
| uniqueClientId | M | ID único do cliente, corresponde ao ID do terminal na RetailForce Cloud (é devolvido/atribuído durante a configuração inicial através de PUT /api/v1/management/clients/byCloud). | |
| applicationVersion | R/M* |
Versão do software da caixa registadora.
Atenção:
Tenha em atenção que, em alguns países (França), o número da versão é fixado no âmbito do processo de certificação. Se for especificado um número de versão incorreto (que não corresponda ao número certificado), não é possível concluir o documento (=erro). Consulte também: Versão Certificada
.
Detalhes por país:
|
|
| ApplicationVersionId | R/M* |
ID da versão do software da caixa registadora. Detalhes do país:
|
|
| ApplicationVersionPrevious | R/M* |
ID da versão anterior do software de caixa registadora. Detalhes do país:
|
|
| FiscalModuleVersion | O/M* | Versão do Módulo Fiscal (Módulo Fiscal Certificado) utilizado para gerar o respetivo documento. Definida automaticamente pelo middleware caso não seja transmitida pelo software. | |
| FiscalCountryModuleVersion | O/M* | Versão do Módulo do País (Módulo Fiscal de Confiança do País) utilizado para gerar o respetivo documento. Definida automaticamente pelo middleware caso não seja transmitida pelo software. | |
| FiscalisationType | O | ||
| assinatura | O | Assinatura | |
| impressoraFiscal | Impressora fiscal | ||
| online | Assinatura | ||
| assinaturaComConexãoOnline | Assinatura com ligação à Internet | ||
| sem fiscalização | Sem fiscalização | ||
| Tipo de fiscalização Itália | O | ||
| impressora | O | Registador Telemático | |
| retailForceReceiptId | O | Número de recibo único a nível global (composto pelo terminalId e pelo número sequencial do recibo). Pode ser criado aquando da criação de uma transação (com a função createDocument). | |
| AdditionalFields | O | ||
| additionalProp1-x | O | ||
| automaticVatCalculation | O |
Este elemento desencadeia o cálculo automático de vários campos de soma ao nível da posição. 0 noCalculation — não é efetuado qualquer cálculo automático 1 netValueCalculation — cálculo automático do montante líquido e do montante do Vat. Devem ser especificados, no mínimo, o montante bruto e a percentagem de Vat ou o código de identificação. 2 grossValueCalculation — Cálculo automático do valor bruto e do montante do imposto. É necessário especificar, no mínimo, o valor líquido e a percentagem de Vat ou o código de identificação do Vat. |
|
| AllowedVatDeviation | O |
Pode ser utilizado para compensar problemas de arredondamento no cálculo do Vat. Utilize com precaução! Se for definido um valor elevado, a verificação do cálculo do Vat é desativada! Exemplo: «AllowedVatDeviation»: 0,05, permite um desvio de 5 cêntimos entre o valor líquido + o valor do imposto = valor bruto (+-0,05) |
|
| TerminalSlaveId | O | Especificação do ID de um terminal de entrada. | |
| cashRegisterSerialNumber | O |
Número de série do dispositivo de caixa registadora. Este campo identifica o equipamento físico específico da caixa registadora utilizado para processar a transação. | |
| footerGraphicIndex | O |
Através do footerGraphicIndex, é inserido um elemento gráfico predefinido no rodapé de um documento. Detalhes do país:
|
|
| AuditLogEntryType | Especifica o tipo de entrada no registo de auditoria quando o próprio documento constitui uma entrada no registo de auditoria. | ||
| amount | Um montante associado ao header do documento (por exemplo, para efeitos de registo de auditoria). | ||
| identifier | Um campo de identificação geral (por exemplo, para efeitos de registo de auditoria). | ||
| DocumentGuid | M | Identificador único do documento utilizando UUID / GUID. Também utilizado como ligação para recibos digitais. | |
| DocumentId | M | Número único e sequencial do documento (recibo) na filial / subsidiária / restaurante (em todas as caixas registadoras), atribuído pelo sistema de caixa registadora (máx. 40 caracteres). | |
| CreateDate | M | Data e hora de criação do documento | |
| BookDate | M | Data de registo | |
| AccountingDate | O | Data possível de lançamento deste documento na contabilidade | |
| ProcessStartDate | R/M* | Hora de criação do primeiro recibo no âmbito de todo o processo (por exemplo, na Alemanha: hora de criação da primeira encomenda do cliente relacionada com o presente recibo de pagamento — ver também «Características Especiais da Gastronomia») | |
| DocumentNumber | R/M* | Número único e sequencial do documento (="número do recibo"), atribuído pelo sistema de caixa registadora. | |
| documentNumberSeries | O/M* |
Nome da série numérica do número do recibo (DocumentNumber). Detalhes por país:
|
|
| cancellationDocument | M |
Flag que especifica se o presente documento é utilizado para anular outro documento (emitido anteriormente) true - Documento de anulação false - Não é um documento de cancelamento |
|
| FailedToPay | O |
Um flag booleano (true/false) que indica se o pagamento do documento falhou. |
|
| documentReference | O/M* | Utilizado para fazer referência a outro documento. | |
| {...} | |||
| IsTraining | O/M* | Flag para assinalar documentos de formação/demonstração (gerados no modo de formação/demonstração da caixa registadora). | |
| TestCaseNumber | O/M* |
Campo para especificar um número de caso de teste para efeitos de certificação. Detalhes do país:
|
|
| documentType | O | Especificação do tipo de documento | |
| documentTypeCaption | M* |
Descrição do tipo de documento. Serve essencialmente para uma melhor descrição ou esclarecimento. Detalhes por país:
|
|
| utilizador | O/M* |
Informações sobre o utilizador (da caixa registadora). Detalhes do país:
|
|
| {...} | |||
| SalesPerson | O/M* |
Informações sobre o pessoal de vendas. Detalhes do país:
|
|
| {...} | |||
| AllocationGroups [] | O/M* |
Utilizado para atribuir recibos a elementos específicos (por exemplo, mesas na restauração). Consulte também: Processo de encomendas de longa duração na restauração. Detalhes do país:
|
|
| parceiro | O/M* |
Informações sobre os respetivos parceiros (comerciais) da empresa emissora do documento. Detalhes do país:
|
|
| addressType | (No partner objeto) Novo campo opcional para especificar o tipo de endereço (por exemplo, endereço de faturação). |
||
| {...} | |||
| notas | O | Registo de notas adicionais | |
| CustomerCount | O/M* |
Número de clientes relativos a este documento (por exemplo, na restauração, o número de clientes na caixa registadora/mesa) Detalhes do país:
|
|
| PaymentTerms | O | Condições de pagamento | |
| {...} | |||
| ServicePeriodStart | O |
Início do período de prestação do serviço (especialmente para faturas) Detalhes do país:
|
|
| ServicePeriodEnd | O |
Fim do período de prestação do serviço (especialmente para faturas) Detalhes do país:
|
|
| PositionCount | O/M* |
Número de posições contidas no recibo (todas as posições, incluindo item, texto, reserva, subTotal, total) Ver também Objeto de Posição. Detalhes do país:
|
|
| DocumentIssueType | O/M* |
Define o tipo de emissão do recibo.
Detalhes do país:
|
|
| coupon | O | Possibilidade de imprimir cupons adicionais e outros elementos no recibo. | |
| {...} | |||
| serviceType | O/M* |
Especificação do tipo de serviço na restauração (serviço à mesa, serviço ao balcão). Valores possíveis (respeitar a convenção CamelCase!)
Detalhes do país:
|
|
| IsEcommerceTransaction | O/M* |
Indicação de se trata de uma transação de comércio eletrónico (true / falso). Detalhes do país:
|
|
| TaxPositions | R |
Especificação de todas as posições de Vat do documento. Devem ser especificadas todas as posições de Vat ou nenhuma. Para obter as posições fiscais do documento (quando esta propriedade não tiver sido definida), utilize GetTaxPositions(Document, boolean).
Nota para a Áustria:
Recomendamos a utilização desta matriz para transmitir as posições fiscais de um recibo, a fim de evitar problemas de arredondamento no protocolo de registo de dados («DEP7»).
|
|
| {...} | |||
| fiscalResponse | - |
Resposta do serviço de fiscalização após a transmissão das funções createDocument e storeDocument. Recomendamos que o conteúdo de fiscalResponse seja armazenado na base de dados da caixa registadora.
Nota:
determinados elementos do objeto fiscalResponse, após a chamada à função createDocument
, devem ser incluídos no documento JSON (que deve ser enviado para storeDocument
). Por favor, NÃO inclua o objeto fiscalResponse na íntegra!
|
|
| {...} | |||
| fiscalDocumentNumber | M* |
Número do documento fiscal (atribuído pelo RetailForce system ou pela respetiva unidade de fiscalização — por exemplo, a TSE na Alemanha)
Atenção:
Tenha em atenção que, nos sistemas até à versão 1.7.7, a informação fiscalDocumentNumber era devolvida no campo fiscalisation
DocumentNumber do objeto fiscalResponse. Consulte também o artigo: «Transação indicada não iniciada
». Na versão 1.7.7, foi introduzido um campo adicional, fiscalDocumentNumber (string), no objeto fiscalResponse.
|
|
| fiscalDocumentRevision | O/M* |
Número de revisão do documento fiscal (atribuído pelo RetailForce system ou pela respetiva unidade de fiscalização — por exemplo, a TSE na Alemanha)
Atenção:
Tenha em atenção que, nos sistemas até à v1.7.7, a propriedade fiscalDocumentRevision era devolvida no campo fiscalisation
DocumentRevision no header do objeto fiscalResponse. Consulte também o artigo: «Transação indicada não iniciada
». A partir da v1.7.7, a propriedade no objeto fiscalResponse foi renomeada para fiscalDocumentRevision e é agora devolvida apenas na matriz AdditionalFields do objeto fiscalResponse-Germany.
|
|
| fiscalDocumentStartTime | M* | Hora de criação do documento fiscal (atribuída pelo RetailForce system ou pela respetiva unidade de fiscalização — por exemplo, a TSE na Alemanha) | |
| posições | M | Informações sobre a respetiva posição do recibo/documento (o conteúdo depende do tipo de documento e da posição — documentType, positionType) | |
| {...} | |||
| pagamentos | O/M* | Informações sobre o pagamento (a utilização depende do tipo de documento — documentType) | |
| {...} | |||
| AdditionalHeader | O |
A matriz AdditionalHeader pode ser utilizada para definir linhas adicionais de texto livre no header do documento. Detalhes por país:
Nota: Atualmente, este array só é suportado em Itália. Também pode ser preenchido noutros países, mas não tem qualquer efeito. |
|
| AdditionalFooter | O |
A matriz AdditionalFooter pode ser utilizada para definir linhas adicionais de texto livre no Footer do documento. Detalhes por país:
Nota: Atualmente, este array só é suportado em Itália. Pode também ser preenchido noutros países, mas não tem qualquer efeito. |
|
| FiscalAdditionalFields | O | ||
Este artigo foi traduzido automaticamente.
Comentários
0 comentários
iniciar sessão para comentar.