RSM InTime provides a SOAP Web Service Interface that allows two-way flow of information to external systems. This enables automated and efficient transfer of data to and from your other systems reducing effort and duplication.
...
getSingleSignOnToken() can be used to log in to RSM InTime using an existing RSM InTime User account. This method returns a token that you can then append to any valid RSM InTime URL and it will allow you to retrieve the page as if you were logged into the system directly. This means you can embed RSM InTime pages within another web site or retrieve other data.
An example SSO token would look like this:
QS5TbWl0aDoxNjk0NzY3NDI5NTM0Ojg0OThkMGY1ZTQzMzdlYzI0YjRiZjU3YzZhNDg4MDI4
So appending an SSO token for an Admin user to a URL for the summary of a Worker could look like this:
http://demo.in-time.co.uk/summary/worker?id=1&ticket=QS5TbWl0aDoxNjk0NzY3NDI5NTM0Ojg0OThkMGY1ZTQzMzdlYzI0YjRiZjU3YzZhNDg4MDI4
For the Summary screens only you can append "&embed=true" to the URL to hide the menu and footers. This does not apply to other InTime screens.
IMPORTANT: Note that once you have accessed InTime with an SSO token you are logged into InTime as that user and navigation and access rights are determined exactly as if you logged into InTime directly as that user.
Other methods
The interface also provides various other methods. Some examples:
...
Field | Constant | Comment | Notes |
---|---|---|---|
Client | |||
invoicePeriod | 0 | Weekly | |
1 | Two-Weekly | ||
2 | Four-Weekly | ||
3 | Calendar Monthly | ||
4 | 4-4-5 | ||
InvoiceDeliveryMethod (howSendInvoices) | 0 | Post | Invoice delivery method |
1 | |||
2 | Fax | ||
3 | Not sent | ||
timesheetsOnInvoices | 0 | Timesheets On Invoices | |
1 | Timesheets Not On Invoices | ||
consolidation | Code Required String[] cConsolidation = new String[] { "charge-payment-term","destination","source","charge-currency","sales-tax-code","client" }; | Everything Goes On One Invoice | |
Code Required String[] cConsolidation = new String[] { "charge-payment-term","destination","source","charge-currency","sales-tax-code","client","sheet-type" }; | Expenses Go On On Invoice And Expenses Go On Another | ||
Code Required String[] cConsolidation = new String[] { "charge-payment-term","destination","source","charge-currency","sales-tax-code","client","placement" }; | Each Placement is Invoiced Separately | ||
Code Required String[] cConsolidation = new String[] { "charge-payment-term","destination","source","charge-currency","sales-tax-code","client","sheet" }; | Each Timesheet Or Expense Item Is Invoiced Separately | ||
Code Required String[] cConsolidation = new String[] { "charge-payment-term","destination","source","charge-currency","sales-tax-code","client",”worker” }; | Each Candidate Is Invoiced Separately | ||
grouping | Code Required String[] cGrouping = new String[] { "sheet-rate" }; client.setGrouping(cGrouping); | Sheet Rate | |
Worker | |||
workerType | paye | For PAYE Workers | |
ltd | For Ltd Company Workers | ||
external-contractor | For Non Ltd Company Workers | ||
cis | For CIS Workers | ||
umb | For Workers operating through an Umbrella | You must also reference the umbrella against the worker, otherwise the worker will appear as LTD. | |
ir35 | For workers inside scope of IR35 (deemed) | ||
cisBusinessType | SoleTrader | ||
Company | |||
Trust | |||
Partnership | |||
cisPercentage | 0 | ||
20 | |||
30 | |||
paymentFrequency | weekly | ||
monthly | |||
<InPay Payroll Name> | If InPay connected, for PAYE workers, use the InPay Payroll Name | ||
timesheetsOnInvoices | 0 | Timesheets On Invoices | |
1 | Timesheets Not On Invoices | ||
paperOnInvoices | -1 | Agency Default | |
0 | No Attachments | ||
1 | Attach Paper Timesheets | ||
2 | Attach Expense Group Paper | ||
4 | Attach Expense Receipts Paper | ||
<sum of the above> | Attach the appropriate paper | For example, 5 to attach timesheets and receipts | |
gender | M | ||
F | |||
LTD invoice period | 0 | Weekly | |
1 | Two-Weekly | ||
2 | Four-Weekly | ||
3 | Calendar Monthly | ||
4 | 4-4-5 | ||
Payment Method | bacs | NOT CASE SENSITIVE | |
cheque | NOT CASE SENSITIVE | ||
cash | NOT CASE SENSITIVE | ||
chaps | NOT CASE SENSITIVE | ||
ach | NOT CASE SENSITIVE | ||
international | NOT CASE SENSITIVE | ||
building society | NOT CASE SENSITIVE | ||
sendLtdCompanyTimesheets | 0 | Do not send a copy of the timesheets to the worker or provider | |
1 | Only send a copy of timesheets to the worker's ltd company email address | ||
2 | Send a copy of timesheets to the worker's provider if they have one, otherwise send it to the worker | ||
3 | Send copies to both the worker and provider | ||
consolidation | Code Required String[] wConsolidation = new String[] { "destination","source","pay-currency","purchase-tax-code","worker" }; | Everything Goes On One Invoice | |
Code Required String[] wConsolidation = new String[] { "destination","source","pay-currency","purchase-tax-code","worker","sheet-type" }; | Expenses Go On On Invoice And Expenses Go On Another | ||
Code Required String[] wConsolidation = new String[] { "destination","source","pay-currency","purchase-tax-code","worker","placement" }; | Each Placement is Invoiced Separately | ||
Code Required String[] wConsolidation = new String[] { "destination","source","pay-currency","purchase-tax-code","worker","sheet" }; | Each Timesheet Or Expense Item Is Invoiced Separately | ||
grouping | Code Required String[] wGrouping = new String[] { "sheet-rate" }; provider.setGrouping(wGrouping); | Sheet Rate | |
Placement | |||
layout | standard | See Maintaining Placements | |
calendar | |||
timesheetDateCalculator | weekly | See Maintaining Placements. You can see all possible values for this in the ui. | |
monthly | |||
<many more> | See UI for all options. | ||
Rates | |||
period | 60 / H | For hourly rates entered in hours format (hours only or start, break, finish). | |
1440 / F | For fixed rates of a specified duration entered in decimal format (decimal or tickbox) | ||
periodDuration | <any integer> | The duration in minutes for the fixed rate (e.g. 60 for hourly rates, 480 for a daily rates (if daily rate it worth 8 hours)). | |
timePattern | default | Will use the selected default time pattern | |
<any string> | The string should match the name of a time pattern in the system | ||
timesheetFields | START_FINISH_BREAK | Enter start, break, finish | Only when period above is 60 |
HOURS | Enter hours only | Only when period above is 60 | |
DECIMAL | Enter time as a decimal | Only when period above is 1440 | |
DAY | Tickbox only (equivalent to entering decimals as 1.00) | Only when period above is 1440 | |
InvoiceAdjustmentSettings (Company / Worker) | |||
AdjustBy | 0 | Fixed Amount | |
1 | Percentage | ||
AdjustPer | 0 | Per Worker | |
1 | Per Timesheet | ||
2 | Per Invoice | ||
AdjustType | 0 | Addition | |
1 | Deduction | ||
ExpenseType | |||
EntryMethod | 0 | Gross value | Populate the GrossValue and optionally the VatAmount field on an ExpenseItem with this entry method |
1 | Net Value | Populate the NetValue field on an ExpenseItem with this entry method | |
2 | Units and Unit net | Populate the Unit and UnitNet fields on an ExpenseItem with this entry method. E.g. Set Unit = 30 and UnitNet = 0.45 to claim 30 miles at 45p per mile. | |
3 | Units and Net | Populate the Unit and Net Value fields on an ExpenseItem with this entry method. | |
Timesheet | |||
Status | getTimesheetStatus() | getStatus() | |
-1 | DELETED | ||
1 | INCOMPLETE | ||
2 | SUBMITTED | ||
3 | APPROVED | ||
5 | COMPLETED | ||
-2 | MISSING | ||
-3 | REVERTED | ||
InvoiceInfo (Invoice) | |||
Invoice Type | getInvoiceDescription() | ||
Advice Note | |||
Client Invoice | |||
Client Credit Note | |||
Self Bill Invoice | |||
Self Bill Credit Note | |||
Supplier Invoice | |||
Supplier Credit Note | |||
Provider | |||
consolidation | Code Required String[] pConsolidation = new String[] { "destination","source","pay-currency","purchase-tax-code","ltd-co-provider" }; | Everything Goes On One Invoice | |
Code Required String[] pConsolidation = new String[] { "destination","source","pay-currency","purchase-tax-code","ltd-co-provider","sheet-type" }; | Expenses Go On On Invoice And Expenses Go On Another | ||
Code Required String[] pConsolidation = new String[] { "destination","source","pay-currency","purchase-tax-code","ltd-co-provider","placement" }; | Each Placement is Invoiced Separately | ||
Code Required String[] pConsolidation = new String[] { "destination","source","pay-currency","purchase-tax-code","ltd-co-provider","sheet" }; | Each Timesheet Or Expense Item Is Invoiced Separately | ||
Code Required String[] pConsolidation = new String[] { "destination","source","pay-currency","purchase-tax-code","ltd-co-provider",”worker” }; | Each Candidate Is Invoiced Separately | ||
grouping | Code Required String[] pGrouping = new String[] { "sheet-rate" }; provider.setGrouping(pGrouping); | Sheet Rate |