Fina

Space Invoices offers a comprehensive fiscalization mechanism tailored to the regulatory requirements of the Croatian Financial Agency (FINA) and its real-time reporting system.

Croatian law mandates that all companies selling goods or services within the country must report cash, credit card, or uncertain method paid invoices to the government in real-time. This includes invoices for advance payments and credit notes for previously issued, fiscalized invoices.

When fiscalization is enabled, Space Invoices requires additional data for document creation, ensuring appropriate information is provided. Our platform's validation is adapted accordingly to guarantee compliance with fiscalization regulations.

When FINA is enabled, a _fina object is automatically added to each issued document. This object contains relevant information required for compliance with Croatian fiscal regulations and ensures that the necessary data is included when reporting real-time invoice information to FINA.

In cases where there are multiple available Business Premises and Electronic Devices, the businessPremiseID and electronicDeviceID must be manually populated into the _fina object. This ensures that the appropriate location and device information are accurately reported for compliance with Croatian fiscal regulations.

WARNING: While we diligently ensure that our fiscalization solution meets all legal requirements, we strongly recommend users to conduct their own research on this matter. Space Invoices can guarantee the technical aspect of the process, but the ultimate responsibility for fiscalization setup and operation lies with the user, data provider, or invoice issuer (the end user), not Space Invoices.

Endpoints:

  • POST /v1/Organizations/:id/upload-certificate
  • GET /v1/Organizations/:id/has-certificate

The Fina object

Parameters

  • id string readonly

  • businessPremiseId string

  • electronicDeviceId string

  • paymentType string

  • Additional propertiesExpand all
    
      {
  "JIR": "string",
  "ZKI": "string",
  "businessPremiseId": "string",
  "electronicDeviceId": "string",
  "invoiceNumber": 42,
  "strategy": "string",
  "operatorTaxNumber": "string",
  "operatorLabel": "string",
  "paymentType": "string",
  "environment": "production",
  "payload": {},
  "id": "string",
  "accountId": "string"
}    
  

Upload Certificate

POST /v1/Organizations/:id/upload-certificate

Parameters

Path
  • id string required

    Organization id

Properties

  • type string required

    Type of certificate ie. furs

  • passphrase string optional

    Type of certificate ie. furs

  • Additional propertiesExpand all
      
        const response = await fetch('https://api.spaceinvoices.com/v1/Organizations/{id}/upload-certificate', {
  method: 'POST',
  headers: {
    'Authorization': 'ACCESS_TOKEN',
    'content-type': 'application/json'
  },
  body: JSON.stringify({
    type: 'string',
    environment: 'string',
    passphrase: 'string'
  })
});      
    

Your access token is displayed in examples.

Prerequisite: npm install node-fetch

        
          curl -X POST https://api.spaceinvoices.com/v1/Organizations/{id}/upload-certificate \
  -H 'Authorization: ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "type": "string", \
    "environment": "string", \
    "passphrase": "string"
  }'        
      

Your access token displayed in examples.

        
          import requests
url = 'https://api.spaceinvoices.com/v1/Organizations/{id}/upload-certificate'
headers = {
  'Authorization': 'ACCESS_TOKEN',
  'content-type': 'application/json',
}
params = {
  'type': 'string',
  'environment': 'string',
  'passphrase': 'string'
}
response = requests.post(url, json=params, headers=headers)        
      

Your access token displayed in examples.

Response:

    
      {
  "success": true
}    
  

Check has Certificates

GET /v1/Organizations/:id/has-certificate

Parameters

Path
  • id string required

    Organization id

Query
  • type string required

  • environment string optional

    Environment certificate is intended for, default is `production`.

      
        const response = await fetch('https://api.spaceinvoices.com/v1/Organizations/{id}/has-certificate', {
  method: 'GET',
  headers: {
    'Authorization': 'ACCESS_TOKEN',
    'content-type': 'application/json'
  }
});      
    

Your access token is displayed in examples.

Prerequisite: npm install node-fetch

        
          curl -X GET https://api.spaceinvoices.com/v1/Organizations/{id}/has-certificate \
  -H 'Authorization: ACCESS_TOKEN' \
  -H 'Content-Type: application/json'        
      

Your access token displayed in examples.

        
          import requests
url = 'https://api.spaceinvoices.com/v1/Organizations/{id}/has-certificate'
headers = {
  'Authorization': 'ACCESS_TOKEN',
  'content-type': 'application/json',
}
response = requests.get(url, params={}, headers=headers)        
      

Your access token displayed in examples.

Response:

    
      {
  "exists": true
}