API

Finance APIs

POST base/companies/current/operating-countries/{countryId}/vat-specification?vatPeriod={vatPeriodId}/api-operations/100956/instances

Operation for authenticating, getting obligation and submitting vat return to HMRC. If authentication code is sent inn, then an authentication token will be fetched from HMRC api and stored. If authentication code is not sent, then stored token will be used. Token is used in all api calls to HMRC api's. If VATPeriod is sent then obligation for VATPeriod will be fetched. If PeriodKey is sent then vat return will be submitted, Form is required to submit return.

This is an API operation. Read the documentation pages for more information about API operations.

HTTP method POST
URI https://api.rambase.net/base/companies/current/operating-countries/{countryId}/vat-specification?vatPeriod={vatPeriodId}/api-operations/100956/instances
Supported formats Xml, Html, Json (ex. $format=json)
- URI parameter {countryId} Country identifier
Integer, minimum 10000
Successful HTTP status code 200
API resource identifier 4167, version 9

The following body must be added to the request. Mouse over fieldnames for description and other useful information about the fields. Note that fields in bold are required/mandatory.

Format:
1
<Parameters>
2
     <VATPeriodKey
VATPeriodKey

The ID code for the period that this obligation belongs to. The format is a string of four alphanumeric characters. Occasionally the format includes the # symbol.

This field is optional.

>
{String}</VATPeriodKey>
3
     <IsFinalised
IsFinalised

Declaration that the user has finalised their VAT return.

Default value: False

This field is optional.

>
{Boolean}</IsFinalised>
4
     <Authentication
Authentication

This field is optional.

>
5
          <Code
Code

Code to be exchanged for a OAUTH 2 access token.

This field is optional.

>
{String}</Code>
6
     </Authentication>
7
     <VATSpecification>
8
          <VATPeriod
VATPeriod

Accounting period this VAT posting belongs to

Minimum value: 192001

Maximum value: 212012

This field is optional.

>
{Integer}</VATPeriod>
9
          <VATEntity>
10
               <VATRegistrationNumber
VATRegistrationNumber

Required/mandatory field

Unique number assigned by the relevant tax authority to identify a party for use in relation to value added tax (VAT)

>
{String}</VATRegistrationNumber>
11
          </VATEntity>
12
     </VATSpecification>
13
     <Form
Form

This field is optional.

>
14
          <Box1
Box1

VAT due on sales and other outputs.

Minimum value: -9999999999999.99

Maximum value: 99999999999.99

This field is optional.

>
{Decimal}</Box1>
15
          <Box2
Box2

VAT due on acquisitions from other EC Member States.

Minimum value: -9999999999999.99

Maximum value: 99999999999.99

This field is optional.

>
{Decimal}</Box2>
16
          <Box3
Box3

Total VAT due (the sum of box1 and box2).

Minimum value: -9999999999999.99

Maximum value: 99999999999.99

This field is optional.

>
{Decimal}</Box3>
17
          <Box4
Box4

VAT reclaimed on purchases and other inputs (including acquisitions from the EC).

Minimum value: -9999999999999.99

Maximum value: 99999999999.99

This field is optional.

>
{Decimal}</Box4>
18
          <Box5
Box5

The difference between box3 and box4.

Minimum value: 0

Maximum value: 99999999999.99

This field is optional.

>
{Decimal}</Box5>
19
          <Box6
Box6

Total value of sales and all other outputs excluding any VAT.

Minimum value: -9999999999999

Maximum value: 99999999999

This field is optional.

>
{Decimal}</Box6>
20
          <Box7
Box7

Total value of purchases and all other inputs excluding any VAT (including exempt purchases).

Minimum value: -9999999999999

Maximum value: 99999999999

This field is optional.

>
{Decimal}</Box7>
21
          <Box8
Box8

Total value of all supplies of goods and related costs, excluding any VAT, to other EC member states.

Minimum value: -9999999999999

Maximum value: 99999999999

This field is optional.

>
{Decimal}</Box8>
22
          <Box9
Box9

Total value of acquisitions of goods and related costs excluding any VAT, from other EC member states.

Minimum value: -9999999999999

Maximum value: 99999999999

This field is optional.

>
{Decimal}</Box9>
23
     </Form>
24
     <FraudPreventionData>
25
          <DoNotTrackOption
DoNotTrackOption

Indicates if browser doNotTrackOption is on.

Default value: False

This field is optional.

>
{Boolean}</DoNotTrackOption>
26
          <UserAgent
UserAgent

Required/mandatory field

The browser useragent.

>
{String}</UserAgent>
27
          <Plugins
Plugins

Required/mandatory field

list of plugins installed in browser.

>
{String}</Plugins>
28
          <DeviceUUID
DeviceUUID

Required/mandatory field

A unique identifier for the originating device.

>
{String}</DeviceUUID>
29
          <LocalIpAdresses
LocalIpAdresses

Required/mandatory field

The local ip adresses belonging to originating device.

>
{String}</LocalIpAdresses>
30
          <LocalIpAdressesTimeStamp
LocalIpAdressesTimeStamp

Required/mandatory field

UTC timestamp for when local ip adresses where gathered.

>
{String}</LocalIpAdressesTimeStamp>
31
          <Screen
Screen

Required/mandatory field

Information on originating devices screen resolution, pixel ratio and color depth.

>
{String}</Screen>
32
          <TimeZone
TimeZone

Required/mandatory field

timezone of originating device.

>
{String}</TimeZone>
33
          <LoginTime
LoginTime

Required/mandatory field

UTC timestamp for when user logged in.

>
{String}</LoginTime>
34
          <TwoFactorAuthenticationMethod
TwoFactorAuthenticationMethod

Required/mandatory field

Which two-factor method was used to authenticate.

>
{String}</TwoFactorAuthenticationMethod>
35
          <WindowSize
WindowSize

Required/mandatory field

The originating devices browser window size.

>
{String}</WindowSize>
36
     </FraudPreventionData>
37
</Parameters>
1
{
2
     "parameters": {
3
          "vATPeriodKey
VATPeriodKey

The ID code for the period that this obligation belongs to. The format is a string of four alphanumeric characters. Occasionally the format includes the # symbol.

This field is optional.

":
"{String}",
4
          "isFinalised
IsFinalised

Declaration that the user has finalised their VAT return.

Default value: False

This field is optional.

":
"{Boolean}",
5
          "authentication
Authentication

This field is optional.

":
{
6
               "code
Code

Code to be exchanged for a OAUTH 2 access token.

This field is optional.

":
"{String}"
7
          },
8
          "vATSpecification": {
9
               "vATPeriod
VATPeriod

Accounting period this VAT posting belongs to

Minimum value: 192001

Maximum value: 212012

This field is optional.

":
"{Integer}",
10
               "vATEntity": {
11
                    "vATRegistrationNumber
VATRegistrationNumber

Required/mandatory field

Unique number assigned by the relevant tax authority to identify a party for use in relation to value added tax (VAT)

":
"{String}"
12
               }
13
          },
14
          "form
Form

This field is optional.

":
{
15
               "box1
Box1

VAT due on sales and other outputs.

Minimum value: -9999999999999.99

Maximum value: 99999999999.99

This field is optional.

":
"{Decimal}",
16
               "box2
Box2

VAT due on acquisitions from other EC Member States.

Minimum value: -9999999999999.99

Maximum value: 99999999999.99

This field is optional.

":
"{Decimal}",
17
               "box3
Box3

Total VAT due (the sum of box1 and box2).

Minimum value: -9999999999999.99

Maximum value: 99999999999.99

This field is optional.

":
"{Decimal}",
18
               "box4
Box4

VAT reclaimed on purchases and other inputs (including acquisitions from the EC).

Minimum value: -9999999999999.99

Maximum value: 99999999999.99

This field is optional.

":
"{Decimal}",
19
               "box5
Box5

The difference between box3 and box4.

Minimum value: 0

Maximum value: 99999999999.99

This field is optional.

":
"{Decimal}",
20
               "box6
Box6

Total value of sales and all other outputs excluding any VAT.

Minimum value: -9999999999999

Maximum value: 99999999999

This field is optional.

":
"{Decimal}",
21
               "box7
Box7

Total value of purchases and all other inputs excluding any VAT (including exempt purchases).

Minimum value: -9999999999999

Maximum value: 99999999999

This field is optional.

":
"{Decimal}",
22
               "box8
Box8

Total value of all supplies of goods and related costs, excluding any VAT, to other EC member states.

Minimum value: -9999999999999

Maximum value: 99999999999

This field is optional.

":
"{Decimal}",
23
               "box9
Box9

Total value of acquisitions of goods and related costs excluding any VAT, from other EC member states.

Minimum value: -9999999999999

Maximum value: 99999999999

This field is optional.

":
"{Decimal}"
24
          },
25
          "fraudPreventionData": {
26
               "doNotTrackOption
DoNotTrackOption

Indicates if browser doNotTrackOption is on.

Default value: False

This field is optional.

":
"{Boolean}",
27
               "userAgent
UserAgent

Required/mandatory field

The browser useragent.

":
"{String}",
28
               "plugins
Plugins

Required/mandatory field

list of plugins installed in browser.

":
"{String}",
29
               "deviceUUID
DeviceUUID

Required/mandatory field

A unique identifier for the originating device.

":
"{String}",
30
               "localIpAdresses
LocalIpAdresses

Required/mandatory field

The local ip adresses belonging to originating device.

":
"{String}",
31
               "localIpAdressesTimeStamp
LocalIpAdressesTimeStamp

Required/mandatory field

UTC timestamp for when local ip adresses where gathered.

":
"{String}",
32
               "screen
Screen

Required/mandatory field

Information on originating devices screen resolution, pixel ratio and color depth.

":
"{String}",
33
               "timeZone
TimeZone

Required/mandatory field

timezone of originating device.

":
"{String}",
34
               "loginTime
LoginTime

Required/mandatory field

UTC timestamp for when user logged in.

":
"{String}",
35
               "twoFactorAuthenticationMethod
TwoFactorAuthenticationMethod

Required/mandatory field

Which two-factor method was used to authenticate.

":
"{String}",
36
               "windowSize
WindowSize

Required/mandatory field

The originating devices browser window size.

":
"{String}"
37
          }
38
     }
39
}

The query string is placed after the resource URL, seperated with a questionmark (?). The query string is composed of a series of query parameters with values. See the page about query parameters on how to use these parameters.

vatPeriod Integer, optional Accounting period this VAT posting belongs to

Minimum: 190000,
Maximum: 299999
$access_token String, optional After successful login you get an access token which needs to be provided in all API requests. Even though it is possible to pass this token as query parameter, we recommended passing it using the HTTP request header as described in Authorization. Note that all access tokens have an expiration time.
$db String, optional Set the database/company for the request
$useMinimumVersion Integer, optional Used to run a new version of an API resource when your API client is running a deprecated API resource. See the Breaking changes page for more information.
$lang String, optional Specifies the language used in the response, following the 3-letter ISO-639-1 [lll]

Read more about filters and sorting on how to use filter parameters and named filters.

Read more about filters and sorting on how to use sortable parameters

Requesting this resource will yield the following response. Mouse over fieldnames (or fieldgroups) for descriptions and other useful information about the fields.

Please note that some fields may be removed from the response, based on user roles/duties/permissions.

Format:
1
<OperationInstance>
2
     <OperationInstanceId
OperationInstanceId

Operation instance identifier

>
{Integer}</OperationInstanceId>
3
     <Status
Status

Status of the instance, 2 = started, 7 = error, 9 = finished

>
{Integer}</Status>
4
     <CreatedAt
CreatedAt

Date and time the operation instance was created

>
{Datetime}</CreatedAt>
5
     <CreatedBy
CreatedBy

Reference to the creator

>
6
          <UserId
UserId

User identifier

>
{Integer}</UserId>
7
          <UserLink
UserLink

User reference

>
{String}</UserLink>
8
     </CreatedBy>
9
     <CreatedFor>
10
          <ObjectId
ObjectId

Identifier of the object

>
{String}</ObjectId>
11
          <ObjectType
ObjectType

Type of object

>
{String}</ObjectType>
12
          <ObjectLink
ObjectLink

API reference to the object

>
{String}</ObjectLink>
13
          <ItemId
ItemId

Item-number of the object

>
{Integer}</ItemId>
14
          <ItemType
ItemType

Type of item

>
{String}</ItemType>
15
          <ItemLink
ItemLink

API reference to the item

>
{String}</ItemLink>
16
          <RamBaseKey
RamBaseKey

Internal RamBase identifier of the object/item

>
{String}</RamBaseKey>
17
     </CreatedFor>
18
     <ApiOperation>
19
          <ApiOprationId
ApiOprationId

Api operation identifiers

>
{Integer}</ApiOprationId>
20
          <ApiOperationLink
ApiOperationLink

Api operation reference

>
{String}</ApiOperationLink>
21
     </ApiOperation>
22
     <ObjectReference>
23
          <ObjectId
ObjectId

Identifier of the object

>
{String}</ObjectId>
24
          <ObjectType
ObjectType

Type of object

>
{String}</ObjectType>
25
          <ObjectLink
ObjectLink

API reference to the object

>
{String}</ObjectLink>
26
          <ItemId
ItemId

Item-number of the object

>
{Integer}</ItemId>
27
          <ItemType
ItemType

Type of item

>
{String}</ItemType>
28
          <ItemLink
ItemLink

API reference to the item

>
{String}</ItemLink>
29
          <RamBaseKey
RamBaseKey

Internal RamBase identifier of the object/item

>
{String}</RamBaseKey>
30
     </ObjectReference>
31
     <Error>
32
          <Message
Message

Full error message/description. The message is generated from the specified ErrorMessage object, expanded with the given parameter(s).

>
{String}</Message>
33
          <TranslatedMessage
TranslatedMessage

Full translated error description. The language used is specified either in $lang or by user settings. If error message don't exist in desired language, english will be used.

>
{String}</TranslatedMessage>
34
          <StackTrace
StackTrace

Stack trace for details about the error

>
{String}</StackTrace>
35
          <ErrorMessage
ErrorMessage

Contains a reference to the error message, if an error occured

>
36
               <ErrorMessageId
ErrorMessageId

Error message identifier

>
{Integer}</ErrorMessageId>
37
               <ErrorMessageLink
ErrorMessageLink

Error message reference

>
{String}</ErrorMessageLink>
38
          </ErrorMessage>
39
          <Parameters>
40
               <Parameter>
41
                    <Index
Index

Error Key

>
{Integer}</Index>
42
                    <Value
Value

Value of the error parameter

>
{String}</Value>
43
               </Parameter>
44
          </Parameters>
45
          <InnerErrors>
46
               <Error>
47
                    <Message
Message

Full error message/description. The message is generated from the specified ErrorMessage object, expanded with the given parameter(s).

>
{String}</Message>
48
                    <TranslatedMessage
TranslatedMessage

Full translated error description. The language used is specified either in $lang or by user settings. If error message don't exist in desired language, english will be used.

>
{String}</TranslatedMessage>
49
                    <StackTrace
StackTrace

Stack trace for details about the error

>
{String}</StackTrace>
50
                    <ErrorMessage
ErrorMessage

Contains a reference to the error message, if an error occured

>
51
                         <ErrorMessageId
ErrorMessageId

Error message identifier

>
{Integer}</ErrorMessageId>
52
                         <ErrorMessageLink
ErrorMessageLink

Error message reference

>
{String}</ErrorMessageLink>
53
                    </ErrorMessage>
54
                    <Parameters>
55
                         <Parameter>
56
                              <Index
Index

Error Key

>
{Integer}</Index>
57
                              <Value
Value

Value of the error parameter

>
{String}</Value>
58
                         </Parameter>
59
                    </Parameters>
60
               </Error>
61
          </InnerErrors>
62
     </Error>
63
     <ResultValues>
64
          <ResultValue>
65
               <Key
Key

Key of the result value

>
{String}</Key>
66
               <Value
Value

Value of the result value

>
{String}</Value>
67
          </ResultValue>
68
     </ResultValues>
69
     <SystemJob
SystemJob

Contains a reference to the system job, if a system job was started

>
70
          <ObjectId
ObjectId

{OIN.ObjectId}

>
{Integer}</ObjectId>
71
          <ObjectType
ObjectType

Type of object

>
{String}</ObjectType>
72
          <PercentComplete
PercentComplete

Percent complete

>
{Integer}</PercentComplete>
73
          <ObjectLink
ObjectLink

API reference to the object

>
{String}</ObjectLink>
74
     </SystemJob>
75
     <OperationInstanceLink
OperationInstanceLink

Operation instance reference

>
{String}</OperationInstanceLink>
76
</OperationInstance>
1
{
2
     "operationInstance": {
3
          "operationInstanceId
OperationInstanceId

Operation instance identifier

":
"{Integer}",
4
          "status
Status

Status of the instance, 2 = started, 7 = error, 9 = finished

":
"{Integer}",
5
          "createdAt
CreatedAt

Date and time the operation instance was created

":
"{Datetime}",
6
          "createdBy
CreatedBy

Reference to the creator

":
{
7
               "userId
UserId

User identifier

":
"{Integer}",
8
               "userLink
UserLink

User reference

":
"{String}"
9
          },
10
          "createdFor": {
11
               "objectId
ObjectId

Identifier of the object

":
"{String}",
12
               "objectType
ObjectType

Type of object

":
"{String}",
13
               "objectLink
ObjectLink

API reference to the object

":
"{String}",
14
               "itemId
ItemId

Item-number of the object

":
"{Integer}",
15
               "itemType
ItemType

Type of item

":
"{String}",
16
               "itemLink
ItemLink

API reference to the item

":
"{String}",
17
               "ramBaseKey
RamBaseKey

Internal RamBase identifier of the object/item

":
"{String}"
18
          },
19
          "apiOperation": {
20
               "apiOprationId
ApiOprationId

Api operation identifiers

":
"{Integer}",
21
               "apiOperationLink
ApiOperationLink

Api operation reference

":
"{String}"
22
          },
23
          "objectReference": {
24
               "objectId
ObjectId

Identifier of the object

":
"{String}",
25
               "objectType
ObjectType

Type of object

":
"{String}",
26
               "objectLink
ObjectLink

API reference to the object

":
"{String}",
27
               "itemId
ItemId

Item-number of the object

":
"{Integer}",
28
               "itemType
ItemType

Type of item

":
"{String}",
29
               "itemLink
ItemLink

API reference to the item

":
"{String}",
30
               "ramBaseKey
RamBaseKey

Internal RamBase identifier of the object/item

":
"{String}"
31
          },
32
          "error": {
33
               "message
Message

Full error message/description. The message is generated from the specified ErrorMessage object, expanded with the given parameter(s).

":
"{String}",
34
               "translatedMessage
TranslatedMessage

Full translated error description. The language used is specified either in $lang or by user settings. If error message don't exist in desired language, english will be used.

":
"{String}",
35
               "stackTrace
StackTrace

Stack trace for details about the error

":
"{String}",
36
               "errorMessage
ErrorMessage

Contains a reference to the error message, if an error occured

":
{
37
                    "errorMessageId
ErrorMessageId

Error message identifier

":
"{Integer}",
38
                    "errorMessageLink
ErrorMessageLink

Error message reference

":
"{String}"
39
               },
40
               "parameters": [
41
                    {
42
                         "index
Index

Error Key

":
"{Integer}",
43
                         "value
Value

Value of the error parameter

":
"{String}"
44
                    }
45
               ],
46
               "innerErrors": [
47
                    {
48
                         "message
Message

Full error message/description. The message is generated from the specified ErrorMessage object, expanded with the given parameter(s).

":
"{String}",
49
                         "translatedMessage
TranslatedMessage

Full translated error description. The language used is specified either in $lang or by user settings. If error message don't exist in desired language, english will be used.

":
"{String}",
50
                         "stackTrace
StackTrace

Stack trace for details about the error

":
"{String}",
51
                         "errorMessage
ErrorMessage

Contains a reference to the error message, if an error occured

":
{
52
                              "errorMessageId
ErrorMessageId

Error message identifier

":
"{Integer}",
53
                              "errorMessageLink
ErrorMessageLink

Error message reference

":
"{String}"
54
                         },
55
                         "parameters": [
56
                              {
57
                                   "index
Index

Error Key

":
"{Integer}",
58
                                   "value
Value

Value of the error parameter

":
"{String}"
59
                              }
60
                         ]
61
                    }
62
               ]
63
          },
64
          "resultValues": [
65
               {
66
                    "key
Key

Key of the result value

":
"{String}",
67
                    "value
Value

Value of the result value

":
"{String}"
68
               }
69
          ],
70
          "systemJob
SystemJob

Contains a reference to the system job, if a system job was started

":
{
71
               "objectId
ObjectId

{OIN.ObjectId}

":
"{Integer}",
72
               "objectType
ObjectType

Type of object

":
"{String}",
73
               "percentComplete
PercentComplete

Percent complete

":
"{Integer}",
74
               "objectLink
ObjectLink

API reference to the object

":
"{String}"
75
          },
76
          "operationInstanceLink
OperationInstanceLink

Operation instance reference

":
"{String}"
77
     }
78
}

List of available operations/actions for this resource.
See the operations documentation for more information about API operations.

Possible error codes the response might return: