Request for Quotation API
1. Overview
Jakamo Request for Quotation API (RFQ API) is an XML-based (UBL) API for sending offer requests from the customer system and sharing them with the suppliers via Jakamo. With RFQ API is it also possible to retrieve suppliers' Offers from Jakamo.
1.1 Requirements how to get started
Request demo accounts from Jakamo Support Team (support@thejakamo.com) to create an RFQ integration from your system.
There are two similar Jakamo environments available for you: the test environment and the production environment.
- Test environment is for testing purposes. Start your integration testing and user training in a test environment.
- Production environment is for the live use with other Jakamo companies.
1.2 Steps to go to production
The transition from the Jakamo test environment to the Jakamo production environment requires the following actions:
1. Production account establishment in Jakamo
Create the Jakamo production account via the Jakamo registration page. Please ensure that there is only one production account existing for your company in Jakamo (avoid creating a double account).
2. Purchase order integration activation
RFQ integration activation for the Jakamo production account. Ask Jakamo Support Team (support@thejakamo.com) to activate the RFQ integration for you in the production environment. After the integration is available in the Jakamo production account, the Integrations page appears in the dropdown menu in the Jakamo user interface. The integrations setting page are available for company admin users.
3. API authentication
Register OAuth2.0 application or create integration credentials in the Jakamo production account on the “Integrations” page under Integration Credentials. Determine a cryptic username and password. Please ensure using different usernames and passwords in each enabled integration in use.
4. User and company mappings configuration in Jakamo
Define user and company mappings on the Jakamo Integrations page.
5. Message endpoint configuration
Change messages’ endpoint configurations from demo to production (see Jakamo RFQ API endpoints).
6. Everything is ready!
You can now send requests for quotations to your suppliers and receive offers from your suppliers through Jakamo.
2. Authorization
Jakamo RFQ API uses OAuth2.0 or basic authentication as an authentication method. OAuth2.0 is the preferred method. Find step-by-step instructions on how to move from basic authentication to use OAuth2.0.
For basic authentication, the username and password for the API are set inside the Jakamo account in the Integrations settings with the CHANGE CREDENTIALS
functionality. If you have multiple integrations enabled towards your Jakamo company account, please use different credentials for each integration.
3. RFQ API endpoints
Jakamo environment | Operation | HTTP request | Jakamo API endpoint |
---|---|---|---|
Test environment | Create new RFQ | POST | https://demo.thejakamo.com/api/rfq |
Test environment | Update existing RFQ | PUT | https://demo.thejakamo.com/api/rfq |
Test environment | Read suppliers' offers from Jakamo | GET | https://demo.thejakamo.com/api/rfq/response |
Production environment | Create new RFQ | POST | https://www.thejakamo.com/api/rfq |
Production environment | Update existing RFQ | PUT | https://www.thejakamo.com/api/rfq |
Production environment | Read suppliers' offers from Jakamo | GET | https://www.thejakamo.com/api/rfq/response |
4. Request response messages
Jakamo RFQ API will always return the HTTP response status code and in some cases additional information in the response body. A successfully posted message will return the HTTP response status code 200 OK. If there is an error and a message is not posted to the API, it will return response code 400 Bad Request or 500 Internal Server Error.
The table below presents the most common API request responses from Jakamo RFQ API.
HTTP response status code | Response body | Additional information |
---|---|---|
200 OK | RFQ response message | RFQ response message successfully retrieved from the RFQ API. |
400 Bad request | No relationship found between buyer and one of the supplier parties. | Mapping is missing for one of the suppliers new RFQ has been tried to send. Check that you have correct supplier mapping in RequestForQuotation/SellerSupplierParty/Party/PartyIdentification/ID and if in use, also in all RequestForQuotation/AdditionalDocumentReference/ID. |
5. Handling incoming message queue
See the general Jakamo API queue handling instructions from incoming message queue handling page.
All incoming messages come through the same endpoint and they can be fetched from the API queue by HTTP GET to the certain endpoint.
The RFQ API will return messages from the queue one message at a time. Running multiple GET requests would always return the same message if the message is not cleared from the queue. The oldest undeleted message in the queue will be returned first. Incoming messages are Offers (UBL).
After processing the incoming message (validate, save it on the disk, parse, import, etc.), the message should be cleared from the queue. All incoming messages contain a value in the “x-acknowledge-uri” header. Simply HTTP POST to that address to remove the message from the queue. No message body content is needed when sending a POST request to remove the message from the queue. RFQ API will return HTTP response code 200 OK
and body message <Info>Message cleared from the queue</Info>
if your request was correct.
6. Request for quotation process in Jakamo
6.1 Create new RFQ
Customer can share new Offer request with one or multiple suppliers via Jakamo by posting the RequestForQuotation message to Jakamo RFQ API.
Example: Creating a new RFQ (Offer request) to Jakamo (HTTP POST)
<RequestForQuotation xmlns:ns="urn:oasis:names:specification:ubl:schema:xsd:RequestForQuotation-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cbc:UBLVersionID>2.1</cbc:UBLVersionID>
<cbc:CustomizationID>Jakamo</cbc:CustomizationID>
<cbc:ID>OFFER_REQUEST_ID</cbc:ID>
<cbc:IssueDate>2025-01-13</cbc:IssueDate>
<cbc:IssueTime>09:00:00</cbc:IssueTime>
<cbc:SubmissionDueDate>2025-01-13</cbc:SubmissionDueDate>
<cbc:Note>Additional info</cbc:Note>
<cac:BuyerCustomerParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID>BUYER_PARTY_ID</cbc:ID>
</cac:PartyIdentification>
</cac:Party>
<cac:BuyerContact>
<cbc:ID>USER_ID</cbc:ID>
</cac:BuyerContact>
</cac:BuyerCustomerParty>
<cac:SellerSupplierParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID>SELLER_ID</cbc:ID>
</cac:PartyIdentification>
</cac:Party>
</cac:SellerSupplierParty>
<cac:ProjectReference>
<cbc:ID>PROJECT_REF_1</cbc:ID>
</cac:ProjectReference>
<!-- Additional document reference with typecode ASSP can be used to add more seller supplier party id:s -->
<!-- Uncomment to add one or multiple additional suppliers -->
<!--<cac:AdditionalDocumentReference>
<cbc:ID>ADDITIONAL_SELLER_1_ID</cbc:ID>
<cbc:DocumentTypeCode>ASSP</cbc:DocumentTypeCode>
<cbc:DocumentDescription>Additional SellerSupplierParty ID</cbc:DocumentDescription>
</cac:AdditionalDocumentReference>-->
<cac:RequestForQuotationLine>
<cbc:ID>1</cbc:ID>
<cbc:Note>Additional info</cbc:Note>
<!-- Docrefs 315 => contract -->
<cac:DocumentReference>
<cbc:ID>CONTRACT_REFERENCE_1</cbc:ID>
<cbc:DocumentTypeCode>315</cbc:DocumentTypeCode>
</cac:DocumentReference>
<cac:LineItem>
<!-- This is used as "Line number" on our end. -->
<cbc:ID>1</cbc:ID>
<!-- Requested quantity -->
<cbc:Quantity unitCode="PCE">100</cbc:Quantity>
<!-- LineExtensionAmount is the total NET price. This has a higher priority than the calculated value on our end. -->
<cbc:LineExtensionAmount currencyID="EUR">960</cbc:LineExtensionAmount>
<cac:Delivery>
<!-- Can be used to indicate requested delivery date -->
<cac:RequestedDeliveryPeriod>
<cbc:EndDate>2025-01-28</cbc:EndDate>
</cac:RequestedDeliveryPeriod>
</cac:Delivery>
<!-- This is basically for discounts. ChargeIndicator => false is a discount applied to the line item. -->
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<!-- MultiplierFactorNumeric is currently the field we are using for the discounts. Means 20% discount. -->
<cbc:MultiplierFactorNumeric>0.2</cbc:MultiplierFactorNumeric>
<cbc:Amount currencyID="EUR">240</cbc:Amount>
</cac:AllowanceCharge>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">120</cbc:PriceAmount>
<!-- Base quantity to which the pricing applies to. In this example, 10 items cost 120 EUR -->
<!-- unitCode can differ, for example 120 euros for 10 meters of pipe. -->
<cbc:BaseQuantity unitCode="PCE">10</cbc:BaseQuantity>
</cac:Price>
<cac:Item>
<cbc:Name>ITEM NAME</cbc:Name>
<!-- Item identifications for both end -->
<cac:BuyersItemIdentification>
<cbc:ID>BUYERS ITEM ID</cbc:ID>
<cbc:ExtendedID>REVISION_123</cbc:ExtendedID>
</cac:BuyersItemIdentification>
<cac:SellersItemIdentification>
<cbc:ID>SELLERS ITEM ID</cbc:ID>
</cac:SellersItemIdentification>
<!-- Item specification docrefs. 174 = Drawing number -->
<cac:ItemSpecificationDocumentReference>
<cbc:ID>Drawing XYZ</cbc:ID>
<cbc:DocumentTypeCode>174</cbc:DocumentTypeCode>
</cac:ItemSpecificationDocumentReference>
</cac:Item>
</cac:LineItem>
</cac:RequestForQuotationLine>
</RequestForQuotation>
6.1.1 Share RFQ with multiple suppliers
If new RFQ is shared with multiple suppliers, there is two places on the RFQ message where supplier identifiers need to be added. First, add one supplier to RequestForQuotation/SellerSupplierParty/Party/PartyIdentification/ID like normally when sharing Offer request with only one supplier. Add then other suppliers to RequestForQuotation/AdditionalDocumentReference/ID. Add as many new AdditionalDocumentReference elements as there are suppliers the RFQ needs to be shared.
All these suppliers added to RequestForQuotation/AdditionalDocumentReference/ID must also be mapped in Jakamo integration mappings.
<!-- Additional document reference with typecode ASSP can be used to add more seller supplier party id:s -->
<cac:AdditionalDocumentReference>
<cbc:ID>ADDITIONAL_SELLER_1_ID</cbc:ID> <!-- Add here more SellerSupplierParty/Party/PartyIdentification/IDs -->
<cbc:DocumentTypeCode>ASSP</cbc:DocumentTypeCode>
<cbc:DocumentDescription>Additional SellerSupplierParty ID</cbc:DocumentDescription>
</cac:AdditionalDocumentReference>
6.2 Update RFQ
Customer can update the Offer request already posted to Jakamo. If Offer request need to be updated, use same body message but update the HTTP request to use PUT method.
Example: Updating a RFQ (Offer request) already existing in Jakamo (HTTP PUT)
<RequestForQuotation xmlns:ns="urn:oasis:names:specification:ubl:schema:xsd:RequestForQuotation-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<cbc:UBLVersionID>2.1</cbc:UBLVersionID>
<cbc:CustomizationID>Jakamo</cbc:CustomizationID>
<cbc:ID>OFFER_REQUEST_ID</cbc:ID>
<cbc:IssueDate>2025-01-13</cbc:IssueDate>
<cbc:IssueTime>09:00:00</cbc:IssueTime>
<cbc:SubmissionDueDate>2025-01-13</cbc:SubmissionDueDate>
<cbc:Note>Additional info</cbc:Note>
<cac:BuyerCustomerParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID>BUYER_PARTY_ID</cbc:ID>
</cac:PartyIdentification>
</cac:Party>
<cac:BuyerContact>
<cbc:ID>USER_ID</cbc:ID>
</cac:BuyerContact>
</cac:BuyerCustomerParty>
<cac:SellerSupplierParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID>SELLER_ID</cbc:ID>
</cac:PartyIdentification>
</cac:Party>
</cac:SellerSupplierParty>
<cac:ProjectReference>
<cbc:ID>PROJECT_REF_1</cbc:ID>
</cac:ProjectReference>
<!-- Additional document reference with typecode ASSP can be used to add more seller supplier party id:s -->
<!-- Uncomment to add one or multiple additional suppliers -->
<!--<cac:AdditionalDocumentReference>
<cbc:ID>ADDITIONAL_SELLER_1_ID</cbc:ID>
<cbc:DocumentTypeCode>ASSP</cbc:DocumentTypeCode>
<cbc:DocumentDescription>Additional SellerSupplierParty ID</cbc:DocumentDescription>
</cac:AdditionalDocumentReference>-->
<cac:RequestForQuotationLine>
<cbc:ID>1</cbc:ID>
<cbc:Note>Additional info</cbc:Note>
<!-- Docrefs 315 => contract -->
<cac:DocumentReference>
<cbc:ID>CONTRACT_REFERENCE_1</cbc:ID>
<cbc:DocumentTypeCode>315</cbc:DocumentTypeCode>
</cac:DocumentReference>
<cac:LineItem>
<!-- This is used as "Line number" on our end. -->
<cbc:ID>1</cbc:ID>
<!-- Requested quantity -->
<cbc:Quantity unitCode="PCE">1000</cbc:Quantity>
<!-- LineExtensionAmount is the total NET price. This has a higher priority than the calculated value on our end. -->
<cbc:LineExtensionAmount currencyID="EUR">9600</cbc:LineExtensionAmount>
<cac:Delivery>
<!-- Can be used to indicate requested delivery date -->
<cac:RequestedDeliveryPeriod>
<cbc:EndDate>2024-02-01</cbc:EndDate>
</cac:RequestedDeliveryPeriod>
</cac:Delivery>
<!-- This is basically for discounts. ChargeIndicator => false is a discount applied to the line item. -->
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<!-- MultiplierFactorNumeric is currently the field we are using for the discounts. Means 20% discount. -->
<cbc:MultiplierFactorNumeric>0.2</cbc:MultiplierFactorNumeric>
<cbc:Amount currencyID="EUR">240</cbc:Amount>
</cac:AllowanceCharge>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">120</cbc:PriceAmount>
<!-- Base quantity to which the pricing applies to. In this example, 10 items cost 120 EUR -->
<!-- unitCode can differ, for example 120 euros for 10 meters of pipe. -->
<cbc:BaseQuantity unitCode="PCE">10</cbc:BaseQuantity>
</cac:Price>
<cac:Item>
<cbc:Name>ITEM NAME</cbc:Name>
<!-- Item identifications for both end -->
<cac:BuyersItemIdentification>
<cbc:ID>BUYERS ITEM ID</cbc:ID>
<cbc:ExtendedID>REVISION_123</cbc:ExtendedID>
</cac:BuyersItemIdentification>
<cac:SellersItemIdentification>
<cbc:ID>SELLERS ITEM ID</cbc:ID>
</cac:SellersItemIdentification>
<!-- Item specification docrefs. 174 = Drawing number -->
<cac:ItemSpecificationDocumentReference>
<cbc:ID>Drawing XYZ</cbc:ID>
<cbc:DocumentTypeCode>174</cbc:DocumentTypeCode>
</cac:ItemSpecificationDocumentReference>
</cac:Item>
</cac:LineItem>
</cac:RequestForQuotationLine>
</RequestForQuotation>
6.3 Retrieve supplier's offer from Jakamo
Supplier can create their offer in Jakamo UI based on the Offer request shared with them. After Offer has been created in Jakamo, customer is able to see the Offer in Jakamo UI and also retrieve the Offer message from the RFQ API.
Example: Get RFQ response (Offer) from Jakamo (HTTP GET)
<?xml version="1.0" encoding="utf-8"?>
<Quotation xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2"
xmlns:ccts="urn:oasis:names:specification:ubl:schema:xsd:CoreComponentParameters-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:udt="urn:un:unece:uncefact:data:draft:UnqualifiedDataTypesSchemaModule:2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:oasis:names:specification:ubl:schema:xsd:Quotation-2">
<cbc:UBLVersionID>2.1</cbc:UBLVersionID>
<cbc:CustomizationID>Jakamo</cbc:CustomizationID>
<cbc:ID>Offer 12345</cbc:ID>
<cbc:IssueDate>2023-03-22</cbc:IssueDate>
<cac:ValidityPeriod>
<cbc:StartDate>2023-03-22</cbc:StartDate>
<cbc:EndDate>2023-02-23</cbc:EndDate>
</cac:ValidityPeriod>
<cac:RequestForQuotationDocumentReference>
<cbc:ID>553255254</cbc:ID>
<cbc:IssueDate>2023-03-22</cbc:IssueDate>
</cac:RequestForQuotationDocumentReference>
<cbc:Note>Delivey 4 weeks from order</cbc:Note>
<cac:BuyerCustomerParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID>Jupiter</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>Jupiter Mining Co</cbc:Name>
</cac:PartyName>
</cac:Party>
</cac:BuyerCustomerParty>
<cac:SellerSupplierParty>
<cac:Party>
<cac:PartyIdentification>
<cbc:ID>Saturnus</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>Saturnus Mining Co</cbc:Name>
</cac:PartyName>
</cac:Party>
</cac:SellerSupplierParty>
<cac:QuotedMonetaryTotal>
<cac:LineExtensionAmount currencyID="EUR">1920</cac:LineExtensionAmount>
<cac:TaxInclusiveAmount currencyID="EUR">2380.8</cac:TaxInclusiveAmount>
</cac:QuotedMonetaryTotal>
<cac:QuotationLine>
<cbc:ID>1</cbc:ID>
<cbc:Note>Additional info</cbc:Note>
<cac:DocumentReference>
<cbc:ID>CONTRACT_REFERENCE_1</cbc:ID>
<cbc:DocumentTypeCode>315</cbc:DocumentTypeCode>
</cac:DocumentReference>
<cac:RequestLineReference>
<cbc:ID>100</cbc:ID>
</cac:RequestLineReference>
<cac:LineItem>
<cbc:ID>1</cbc:ID>
<cbc:Quantity unitCode="PCE">100</cbc:Quantity>
<cbc:LineExtensionAmount currencyID="EUR">960</cbc:LineExtensionAmount>
<cac:Delivery>
<cac:EstimatedDeliveryPeriod>
<cbc:EndDate>2024-01-28</cbc:EndDate>
</cac:EstimatedDeliveryPeriod>
</cac:Delivery>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">120</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="">1</cbc:BaseQuantity>
</cac:Price>
<cac:AllowanceCharge>
<cbc:ChargeIndicator/>
<cbc:AllowanceChargeReasonCode>ZZZ</cbc:AllowanceChargeReasonCode>
<cbc:MultiplierFactorNumeric>0.2</cbc:MultiplierFactorNumeric>
<cbc:Amount currencyID="EUR">2400</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">12000</cbc:BaseAmount>
</cac:AllowanceCharge>
<cac:Item>
<cbc:Name>ITEM NAME</cbc:Name>
<cac:BuyersItemIdentification>
<cbc:ID>BUYERS ITEM ID</cbc:ID>
</cac:BuyersItemIdentification>
<cac:SellersItemIdentification>
<cbc:ID>SELLERS ITEM ID</cbc:ID>
</cac:SellersItemIdentification>
<cbc:Description/>
<cac:ItemSpecificationDocumentReference>
<cbc:ID>Drawing XYZ</cbc:ID>
<cbc:DocumentTypeCode>174</cbc:DocumentTypeCode>
</cac:ItemSpecificationDocumentReference>
<cac:ClassifiedTaxCategory>
<cbc:Percent>24</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
</cac:LineItem>
</cac:QuotationLine>
<cac:QuotationLine>
<cbc:ID>2</cbc:ID>
<cbc:Note>Additional info</cbc:Note>
<cac:DocumentReference>
<cbc:ID>CONTRACT_REFERENCE_1</cbc:ID>
<cbc:DocumentTypeCode>315</cbc:DocumentTypeCode>
</cac:DocumentReference>
<cac:RequestLineReference>
<cbc:ID>200</cbc:ID>
</cac:RequestLineReference>
<cac:LineItem>
<cbc:ID>2</cbc:ID>
<cbc:Quantity unitCode="PCE">100</cbc:Quantity>
<cbc:LineExtensionAmount currencyID="EUR">960</cbc:LineExtensionAmount>
<cac:Delivery>
<cac:EstimatedDeliveryPeriod>
<cbc:EndDate>2024-01-28</cbc:EndDate> <!-- Delivery time -->
</cac:EstimatedDeliveryPeriod>
</cac:Delivery>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">120</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="">1</cbc:BaseQuantity>
</cac:Price>
<cac:AllowanceCharge>
<cbc:ChargeIndicator/>
<cbc:AllowanceChargeReasonCode>ZZZ</cbc:AllowanceChargeReasonCode>
<cbc:MultiplierFactorNumeric>0.2</cbc:MultiplierFactorNumeric>
<cbc:Amount currencyID="EUR">2400</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">12000</cbc:BaseAmount>
</cac:AllowanceCharge>
<cac:Item>
<cbc:Name>ITEM NAME</cbc:Name>
<cac:BuyersItemIdentification>
<cbc:ID>BUYERS ITEM ID</cbc:ID>
</cac:BuyersItemIdentification>
<cac:SellersItemIdentification>
<cbc:ID>SELLERS ITEM ID</cbc:ID>
</cac:SellersItemIdentification>
<cbc:Description/>
<cac:ItemSpecificationDocumentReference>
<cbc:ID>Drawing XYZ</cbc:ID>
<cbc:DocumentTypeCode>174</cbc:DocumentTypeCode>
</cac:ItemSpecificationDocumentReference>
<cac:ClassifiedTaxCategory>
<cbc:Percent>24</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
</cac:LineItem>
</cac:QuotationLine>
<cac:QuotationLine>
<cbc:ID>3</cbc:ID>
<cbc:Note>Additional information</cbc:Note>
<cac:DocumentReference>
<cbc:ID>CONTRACT_REFERENCE_2</cbc:ID>
<cbc:DocumentTypeCode>315</cbc:DocumentTypeCode>
</cac:DocumentReference>
<cac:RequestLineReference>
<cbc:ID>300</cbc:ID>
</cac:RequestLineReference>
<cac:LineItem>
<cbc:ID>3</cbc:ID>
<cbc:Quantity unitCode="PCS">1</cbc:Quantity>
<cbc:LineExtensionAmount currencyID="EUR">120</cbc:LineExtensionAmount>
<cac:Delivery>
<cac:EstimatedDeliveryPeriod>
<cbc:DurationMeasure unitCode="DAY">5</cbc:DurationMeasure> <!-- Lead time-->
</cac:EstimatedDeliveryPeriod>
</cac:Delivery>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">150</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="">1</cbc:BaseQuantity>
</cac:Price>
<cac:AllowanceCharge>
<cbc:ChargeIndicator/>
<cbc:AllowanceChargeReasonCode>ZZZ</cbc:AllowanceChargeReasonCode>
<cbc:MultiplierFactorNumeric>0.2</cbc:MultiplierFactorNumeric>
<cbc:Amount currencyID="EUR">30</cbc:Amount>
<cbc:BaseAmount currencyID="EUR">150</cbc:BaseAmount>
</cac:AllowanceCharge>
<cac:Item>
<cbc:Name>PRESS-FASTENER</cbc:Name>
<cac:BuyersItemIdentification>
<cbc:ID>12345</cbc:ID>
</cac:BuyersItemIdentification>
<cac:SellersItemIdentification>
<cbc:ID>7428394</cbc:ID>
</cac:SellersItemIdentification>
<cbc:Description/>
<cac:ItemSpecificationDocumentReference>
<cbc:ID>DRAWING NUMBER 344</cbc:ID>
<cbc:DocumentTypeCode>174</cbc:DocumentTypeCode>
</cac:ItemSpecificationDocumentReference>
<cac:CommodityClassification>
<cbc:CommodityCode>9606 10 00 00</cbc:CommodityCode> <!-- Customs code -->
</cac:CommodityClassification>
<cac:OriginCountry>
<cbc:IdentificationCode listName="ISO 3166-1 Alpha2">fi</cbc:IdentificationCode>
<cbc:Name>Finland</cbc:Name> <!-- Country of origin -->
</cac:OriginCountry>
</cac:Item>
</cac:LineItem>
</cac:QuotationLine>
</Quotation>
7. User and company mappings in the Jakamo integration settings
Mapping configurations to identify buyer and supplier in Jakamo are made in the Jakamo user interface on the Integrations page. Integrations settings are available for you after the integration is activated for you in the Jakamo test environment and Jakamo production environment by Jakamo. See Jakamo's general integration mappings instructions from User Guide.
7.1 User mapping – Map your ERP users to your Jakamo users
ERP users (buyers, purchasers, supplier responsibles) who will create offer requests via Jakamo must have their personal user accounts in Jakamo. User has to have some identifier (string, email address, username, buyer number…) in the ERP, and that identifier will be transferred in the Order XML data (RequestForQuotation/BuyerCustomerParty/BuyerContact/ID). This ERP identifier must be linked to the Jakamo user so that Jakamo can identify the message sender. The RFQ integration requires passing this user information in the RFQ message when making new RFQ or updating existing RFQ.
Create required user mappings on the Integrations page. From that page can be found all the integrations in use. Under the User Strings, click ADD USER
and create user mappings between Jakamo users and users in the ERP system. To be able to add a mapping, the user has to have a personal user account in Jakamo.
- User identifier refers to the identifier string that you send in RequestForQuotation/BuyerCustomerParty/BuyerContact/ID.
- Jakamo account refers to the users account in Jakamo. Jakamo account dropdown includes the users who has their user accounts established in Jakamo.
DefaultUser can be left unselected. It is not used in RFQ integration.
7.2. Vendor mapping – Map your ERP suppliers to Jakamo companies
A relationship with the supplier company in Jakamo has to be established before any messages can be received or sent via Jakamo. A supplier has to have some identifier (string, for example vendor number) in the ERP, and it will be transferred in the XML data (RequestForQuotation/SellerSupplierParty/Party/PartyIdentification/ID). This ERP identifier must be linked to the Jakamo company so that Jakamo can identify the receiving party.
Create company mappings on the Integrations page. From that page can be found all the integrations in use. Under the Company Strings, click ADD COMPANY
and create a mapping between your ERP company (a supplier) and the Jakamo relationship. To be able to add a mapping, the relationship with that company has to exist in Jakamo.
- Company identifier refers to the identifier string incoming in RequestForQuotation/SellerSupplierParty/Party/PartyIdentification/ID.
- Jakamo company refers to the supplier account that needs to be mapped to this supplier identifier. Jakamo company dropdown menu include a list of supplier companies your account have relation established in Jakamo.
Didn't you find what you were looking for? Send an email to Jakamo support (support@thejakamo.com) and we will help you.