tpm – yardi voyager 7s technical manual · page 3 overview description this document contains a...
TRANSCRIPT
Copyright © 2016, 2017, Oracle and/or its affiliates. All rights reserved.
TPM – Yardi Voyager 7S Technical Manual
Version 1.0 May 2, 2017
Page 2
Table of Contents TPM – Yardi Voyager 7S Technical Manual ................................................................................... 1
Overview ........................................................................................................................................ 3 Description .................................................................................................................................. 3 Yardi Voyager 7S Subcontracts and Subcontract Change Orders exported to TPM ................. 3 Yardi Voyager 7S Subcontract Compliance exported to TPM ................................................... 3
Yardi Voyager 7S AP Invoices imported from TPM ................................................................. 3 Yardi Voyager 7S AP Invoice Reversals imported from TPM .................................................. 3 Yardi Voyager 7S AP Payments imported from TPM ............................................................... 3
Design Methodology...................................................................................................................... 4 Automated Solution for Import Interfaces .................................................................................. 4
Key Features .................................................................................................................................. 4 Main Features covered in the scope of this integration .............................................................. 4
Yardi Objects ................................................................................................................................ 5
Field Mappings .............................................................................................................................. 6 Subcontracts ................................................................................................................................ 6 Change Orders ............................................................................................................................ 7
Compliance ................................................................................................................................. 7 Invoices ....................................................................................................................................... 8 Invoice Rejections (reversals) ..................................................................................................... 8
Payments ..................................................................................................................................... 9
Job Streams ................................................................................................................................... 9 Subcontracts ................................................................................................................................ 9 Change Orders .......................................................................................................................... 10
Compliance ............................................................................................................................... 10 Invoice....................................................................................................................................... 11 Invoice Rejections (Reversal) ................................................................................................... 11
Payments ................................................................................................................................... 12
TexturaLink................................................................................................................................. 13 System Requirements: .............................................................................................................. 13
Installation: ............................................................................................................................... 13 Configuring TexturaLink .......................................................................................................... 14 TexturaLink Configuration Parameters .................................................................................... 14 TexturaLink Home Screen ........................................................................................................ 16
Page 3
Overview
Description This document contains a comprehensive explanation of the Yardi Voyager 7s/Oracle Textura Payment Management Interface. There are five components of this interface:
1. Yardi Voyager 7S Subcontracts and Subcontract Change Orders exported to TPM
2. Yardi Voyager 7S Subcontract Compliance exported to TPM
3. Yardi Voyager 7S Accounts Payable Invoices imported from TPM
4. Yardi Voyager 7S Accounts Payable Invoice Reversals imported from TPM
5. Yardi Voyager 7S Accounts Payable Payments imported from TPM.
Yardi Voyager 7S Subcontracts and Subcontract Change Orders exported to TPM
Job cost subcontracts and subsequent change orders against those subcontracts on properties setup in Yardi to use the Textura integration will be extracted from Yardi and imported into TPM. Requests initiated from TexturaLink will use Yardi’s Get Job Cost web service method and import records using the insert contracts web service for TPM.
Yardi Voyager 7S Subcontract Compliance exported to TPM
Compliance requirements tracked on a subcontract for a Textura managed property in Yardi will be imported into TPM. These records will initiate holds or releases in TPM based on the status as it is tracked in Yardi. Requests initiated from TexturaLink will use Yardi’s Get Job Cost web service method and import records using the import compliance web service for TPM.
Yardi Voyager 7S AP Invoices imported from TPM
Subcontract Invoices are created in the Oracle Textura Payment Management system and exported to the Yardi Voyager 7S Accounts Payable system. The import of Invoice voucher data is initiated by TexturaLink either on a scheduled basis or on-demand using web services. Standard progress invoices are imported using Yardi’s Import Payables method and will create an unposted batch in Yardi. For retention release invoices, Yardi’s Get Retention amounts service is used to identify the invoice IDs of AP invoices posted against a contract that is holding retention. The Import Retention Payables service will be used to create retention release invoices in Yardi.
Yardi Voyager 7S AP Invoice Reversals imported from TPM
Subcontract Invoices are created in the Oracle Textura Payment Management system and exported to the Yardi Voyager 7S Accounts Payable system once they are approved in TPM. If a subcontractor invoice that was previously approved and exported from TPM is later rejected by the GC, TPM will send an invoice rejection record to reverse the existing payable. Once the subcontractor resubmits the invoice, we will create a new invoice with a unique revision number appended to the end of the original invoice number. This process uses the GetPayables service to identify the Yardi invoice ID for the invoices that should be rejected, then the ReversePayables method to reverse the entry.
Yardi Voyager 7S AP Payments imported from TPM
AP Payments are created in the Oracle Textura Payment Management system and exported to Yardi Voyager 7S Payment Processing where the payments are applied to matching invoice vouchers in Accounts Payable. The import of Payment data is initiated by TexturaLink either on a scheduled basis or on-demand using web services. The import checks web service is used to import payments against AP invoices in Yardi.
Page 4
Design Methodology
Automated Solution for Import Interfaces Due to the need for an automated solution, the following design methodology was adopted:
1. All data to be imported into Yardi will use Yardi’s SOAP based vendor invoicing web services
initiated by requests from TexturaLink
2. All data extracted from Yardi will use Yardi’s SOAP based job cost web services initiated by
requests from TexturaLink
3. All integration points can be scheduled or invoked by a user using TexturaLink.
Key Features
Main Features covered in the scope of this integration Following is a list of some of the main features covered in the scope of this document:
1. Subcontract, Change Order, and Compliance Extracts
Properties must be set to use the Textura Interface in Yardi setup
Only orders for Jobs that are setup in TPM will be extracted
Page 5
Subcontract items use the contractid concatenated with the database id of that record in Yardi as the subcontract item number key for TPM. This field is represented as UniqueMark on the XMLresponse from the Yardi service.
2. Subcontract Invoice Import
The system will allow import of Invoices to create AP invoice batches in Yardi. The number of batches created is configurable in TexturaLink. The options are to create a separate batch for each incoming invoice, or to create a separate batch for each job number on the incoming invoice feed. Batches are broken out this way because the Yardi service will fail the entire import if any record fails validation, providing the option to break out the batches more granularly will result in more successful postings with each import job.
Separate invoice lines are created in Yardi for each invoice line in the import feed that is holding retention.
If Retention on an Invoice has to be released, a Retention Invoice will be sent from Textura and imported into Yardi Voyager 7S. The import will create a new payable record for each invoice it is releasing retention from and append an R to the front of the original invoice number.
For Retention Release invoices, the user defined field #10 is used to store the Textura generated invoice number. This value is used when applying payments to the retention release invoices.
For Invoice reversals (rejections), the invoice will be deleted if it is in an unposted batch, or reversed if it is in a posted batch as long as no payment has been applied to that invoice.
3. Subcontract Payment Import
Payments can be made against original Invoice as well as Retention Invoice.
For each funding organization set up in TPM, the ERP Bank code field must be set with the corresponding Bank ID in Yardi.
Yardi Objects
Object Name Object Type Notes
Import_Payable Web Service Used to import AP Invoices into Yardi
GetPayables Web Service
Used to find all retention release invoices in Yardi affiliated with a single TPM draw for payment processing
GetRetentionAmounts Web Service Used to obtain invoice IDs of invoices holding retention for a specific subcontract
GetJobCost Web Services Used to extract job cost data from Yardi (Subcontracts, Change Orders, Compliance)
ReversePayable Web Services Used to reverse a previously exported payable
Page 6
Field Mappings
Subcontracts Header
Service Yardi Field TPM Field Notes
GetJobCost StartDate Contract Date If no start date, then use current date
GetJobCost Description Description
GetJobCost ContractId Subcontract Number
GetJobCost RetentionPercent
Default Retention Percentage
GetJobCost JobId - PropertyId Project Number
JobId – PropertyId combined, example: 1000-TEX001
GetJobCost OriginalContractAmount Subcontract Amount
GetJobCost VendorId Vendor Id
Details
Service Yardi Field TPM Field Notes
GetJobCost CostCode Account Code
GetJobCost CategoryId Category Code
GetJobCost Contract Amount Component Amount
GetJobCost DetailRemark Component Description
GetJobCost RetentionPercent
Component Retention Percentage
GetJobCost JobId - PropertyId Project Number
JobId – PropertyId combined, example: 1000-TEX001
GetJobCost UniqueMark Subcontract Item Number
Unique database id from Yardi database concatenated with contractid
GetJobCost Property Id SubJob Number
GetJobCost VendorId Vendor Id
Page 7
Change Orders Header
Service Yardi Field TPM Field Notes
GetJobCost Dateof Change Order Date If no date of, then use current date
GetJobCost ContractCOID Change Order Number
GetJobCost Description Change Order Title
GetJobCost ParentContractId Subcontract Number
GetJobCost VendorId Vendor Id
Details
Service Yardi Field TPM Field Notes
GetJobCost CostCode Account Code
GetJobCost CategoryId Category Code
GetJobCost Contract Amount Component Amount
GetJobCost DetailRemark Component Description
GetJobCost RetentionPercent
Component Retention Percentage
GetJobCost JobId - PropertyId Project Number JobId – PropertyId combined, example: 1000-TEX001
GetJobCost UniqueMark Subcontract Item Number
Unique database id from Yardi database concatenated with contractid
GetJobCost Property Id SubJob Number
GetJobCost VendorId Vendor Id
Compliance
Service Yardi Field TPM Field Notes
GetJobCost JobId - PropertyId
Project Number JobId – PropertyId combined, example: 1000-TEX001
GetJobCost contractId Subcontract Number
GetJobCost VendorId Vendor Id
GetJobCost Name Description
GetJobCost Expires Expiration Date
Status If there is an expiration date, set status to received. If not, set status to not received
Page 8
Invoices Header
Service TPM Field Yardi Field Notes
Import_Payables Vendor ID VendorID
Import_Payables Invoice Number InvoiceNumber
Import_Payables Invoice Date InvoiceDate Current Date
Import_Payables Draw Period To Date PostMonth
Set to the first of the month of the invoice draw date
Import_Payables Draw Number Notes
Import_Payables Subcontract Number ContractID
Import_Payables Invoice Net Amount TotalAmount
Invoice Net amount unless it is a Retention Release invoice, then Total Retention release amount
Details
Service TPM Field Yardi Field Notes
Import_Payables Item Gross Amount Amount
If retention release, item retention release amount is used
Import_Payables AccountID Not Mapped
Import_Payables SubJob Number PropertyId
Import_Payables Subcontract Item Number ContractID
Import_Payables Project Number JobID
Import_Payables Category Code CategoryId
Import_Payables
Item Retention Held
RetentionAmount
Will create a separate invoice line for each line's retention held amount
Import_Payables Account Code CostCode
Import_Payables Draw Number Notes
Invoice Rejections (reversals)
Service TPM Field Yardi Field Notes
ReversePayable Invoice Number InvoiceNumber
ReversePayable Current Date PostMonth Set to the first of the month of the invoice draw date
ReversePayable InvoiceId As returned from the GetPayables response
Page 9
Payments Header
Service TPM Field Yardi Field Notes
Import_Check ERP Bank Code BankID
Import_Check Check Number CheckNumber
Import_Check Disbursement Date PaymentDate
Import_Check Payee Name Notes
Import_Check Vendor Id PayeeID
Import_Check Check Amount TotalAmount
PostMonth Set to the first of the month of the payment date
Details
Service TPM Field Yardi Field Notes
Import_Check Check Amount Amount
Import_Check Invoice Number InvoiceNumber
Import_Check Project Number PropertyId PropertyId portion of Project Number in TPM
Job Streams
Subcontracts
Page 10
Change Orders
Compliance
Page 11
Invoice
Yardi Invoice Import Process
Text
ura
Lin
kYa
rdi W
eb
Se
rvic
es
Yard
i
Phase
GetRetentionAmounts Method
@ContractId
Invoice Json
Retention Release?
Import Payables Method
NO
YES
Invoice IDs
Import Payables Method
New “R” invoice for each Invoice
holding retention
Unposted AP Invoice Batch
Unposted AP Invoice Batch
Import Textura Invoice # to UDF 10
Invoice Rejections (Reversal)
Yardi Invoice Rejection Process
Text
ura
Lin
kYa
rdi W
eb S
ervi
ces
Yard
i
Phase
GetPayables@VendorId, @PropertyId
Invoice Rejections
Json Invoice IDs by JSON
Invoice Number
Reverse Payables Method
@InvoiceId
Reverse Posted Invoice / Deletes unposted Invoice
Retention Release?
NO
Invoice IDs where JSON
InvoiceNumber equals UDF #10
value
YES
Reverse Payables Method
@InvoiceId
Reverse Posted Invoice / Deletes unposted Invoice
Page 12
Payments
Yardi Payment ProcessTe
xtu
raLi
nk
Yard
i We
b
Serv
ice
sYa
rdi
Phase
GetPayables Method@ContractId
Payment Json
Retention Release?
Import Checks Method
NO
YES
Invoice Numbers
Import Check Web Service
Applies payment to retention release invoices
Find invoices where UDF 10 equals Textura
Invoice Number
Page 13
TexturaLink The TexturaLink application is installed on a dedicated server or virtual machine in the client’s environment. TexturaLink connects to the Yardi Voyager 7S application using web service requests and the Textura user created during the setup of the integration package.
System Requirements: Java 8 or above
Windows 7 (64 bit), Windows Server 2008 (64 bit) and later
At least 5gb of RAM
10gb of free hard drive space
Installation: 1. Navigate to http://services.texturacorp.com/ebis/texturalink/installer/ to download the installer
2. Enter a valid TPM username and password, and click Next.
3. Choose the Yardi adapter in the left dropdown list.
Note: The current version will be auto-selected.
4. Click Next.
5. Choose the installation location, and click Next.
6. Change the Log Level to Debug.
Page 14
7. Check the box to Setup Windows Service, and click Next.
Note: This will proceed with the installation.
8. Click Finish to close the installer.
9. Open the Windows Task Manager, and click on the Services tab. Right click on textura-yardi-lib
and select Start. This will start the service.
10. Open a browser and enter http://localhost:9999 to open TexturaLink. It may take a few minutes
to start. Localhost can be replaced with the actual server name for users to connect to
TexturaLink from outside the TexturaLink server.
Configuring TexturaLink Click on the Textura Org User tab to enter the Textura TPM username and password
TexturaLink will use to connect to TPM. Click on Create New to enter the
credentials then click on Save.
Click on the Configurations tab
The following configuration properties will need to be added:
TexturaLink Configuration Parameters Object Name Description Point of Use
erp.group.invoices.by Choose all, project, or single to determine how many batches should be created with each import.
All—Creates one batch for entire import file
Project—Creates a separate batch for each project on an import file
Single—Creates a separate batch for each record on an import file
Invoice
Page 15
Object Name Description Point of Use
erp.group.payments.by Choose All or Single to determine how many batches should be created with each import.
All—Creates one batch for the entire import file
Single—Creates a separate batch for each record on an import file
Payments
Erp.database.server Stores the name of the database server hosting the Yardi database
All
Erp.Service.url The URL of the Yardi application All Erp.Username Username of the Yardi user setup for
the integration All
Erp.entity “Textura” All Erp.Password Password for ERP. All Erp.interface.license License key for Textura Integration.
Note: This will change once a year. All
Textura.Service.url Textura environment URL for TexturaLink.
All
Link.local.filepath Folder location for storing audit log files from TexturaLink
All
Schedule.cron.export.getprojects Enter cron expression to enable the schedule for the Get Projects service
Get Projects
Schedule.cron.import.new.contracts Enter cron expression to enable the schedule for importing subcontracts
Import Subcontracts
Schedule.cron.import.changeorders Enter cron expression to enable the schedule for importing change orders
Import subcontract change orders
Schedule.cron.import.compliances Enter cron expression to enable the schedule for importing compliance records
Import Compliance
Schedule.cron.export.invoices Enter cron expression to enable the schedule for receiving invoices
Invoices
Schedule.cron.export.rejections Enter cron expression to enable the schedule for receiving invoice cancelations
Invoice Rejections
Schedule.cron.export.payments Enter cron expression to enable the schedule for receiving payments
Payments
Click on the Login User tab to create usernames and passwords for TexturaLink
users. Any user that will need to run jobs manually should be set as a
ROLE_ADMIN.
Page 16
TexturaLink Home Screen
Legal Notices
Page 17
TPM – Yardi Voyager 7S Technical Manual
Copyright © 2016, 2017, Oracle and/or its affiliates. All rights reserved.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.
This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are “commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate failsafe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.
This software or hardware and documentation may provide access to or information on content, products and services from third-parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.