This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Working with Clients in Billomat


Overview

The following operations allow you to work with clients. Click an operation name to see details on how to use it.

For a sample proxy service that illustrates how to work with clients, see Sample configuration

OperationDescription

createClient

Creates a client.

getClient

Retrieves details of a specific client.

listClientsRetrieves all clients.
updateClientUpdates the details of the client.

Operation details

This section provides further details on the operations related to clients.

Creating a client

The createClient operation creates a client.

createClient
<billomat.createClient>
	<archived>{$ctx:archived}</archived>
    <numberPre>{$ctx:numberPre}</numberPre>
    <number>{$ctx:number}</number>
    <numberLength>{$ctx:numberLength}</numberLength>
    <name>{$ctx:name}</name>
    <street>{$ctx:street}</street>
    <zip>{$ctx:zip}</zip>
    <city>{$ctx:city}</city>
    <state>{$ctx:state}</state>
    <countryCode>{$ctx:countryCode}</countryCode>
    <firstName>{$ctx:firstName}</firstName>
    <lastName>{$ctx:lastName}</lastName>
    <salutation>{$ctx:salutation}</salutation>
    <phone>{$ctx:phone}</phone>
    <fax>{$ctx:fax}</fax>
    <mobile>{$ctx:mobile}</mobile>
    <email>{$ctx:email}</email>
    <webAddress>{$ctx:webAddress}</webAddress>
    <taxNumber>{$ctx:taxNumber}</taxNumber>
    <vatNumber>{$ctx:vatNumber}</vatNumber>
    <bankAccountNumber>{$ctx:bankAccountNumber}</bankAccountNumber>
    <bankAccountOwner>{$ctx:bankAccountOwner}</bankAccountOwner>
    <bankNumber>{$ctx:bankNumber}</bankNumber>
    <bankName>{$ctx:bankName}</bankName>
    <bankSwift>{$ctx:bankSwift}</bankSwift>
    <bankIban>{$ctx:bankIban}</bankIban>
    <sepaMandate>{$ctx:sepaMandate}</sepaMandate>
    <sepaMandateDate>{$ctx:sepaMandateDate}</sepaMandateDate>
    <locale>{$ctx:locale}</locale>
    <taxRule>{$ctx:taxRule}</taxRule>
    <defaultPaymentTypes>{$ctx:defaultPaymentTypes}</defaultPaymentTypes>
    <netGross>{$ctx:netGross}</netGross>
    <note>{$ctx:note}</note>
    <discountRateType>{$ctx:discountRateType}</discountRateType>
    <discountRate>{$ctx:discountRate}</discountRate>
    <discountDaysType>{$ctx:discountDaysType}</discountDaysType>
    <discountDays>{$ctx:discountDays}</discountDays>
    <dueDaysType>{$ctx:dueDaysType}</dueDaysType>
    <dueDays>{$ctx:dueDays}</dueDays>
    <reminderDueDaysType>{$ctx:reminderDueDaysType}</reminderDueDaysType>
    <reminderDueDays>{$ctx:reminderDueDays}</reminderDueDays>
    <offerValidityDaysType>{$ctx:offerValidityDaysType}</offerValidityDaysType>
    <offerValidityDays>{$ctx:offerValidityDays}</offerValidityDays>
    <currencyCode>{$ctx:currencyCode}</currencyCode>
	<priceGroup>{$ctx:priceGroup}</priceGroup>
</billomat.createClient>
Properties
  • archived: The storage state of the archive. Possible values are 1 and 0, where 1= archived and 0= active.
  • numberPre: Prefix of the number.
  • number: Sequence number.
  • numberLength: Minimum length of the customer number (to be filled with leading zeros).
  • name: Name of the company.
  • street: Street of the company.
  • zip: Zip code of the company.
  • city: City of the company.
  • state: State of the company.
  • countryCode: Country code of the company.
  • firstName: First name of the client.
  • lastName: Last name of the client.
  • salutation: Salutation of the client.
  • phone: Phone number of the client.
  • fax: Fax number of the client.
  • mobile: Mobile number of the client.
  • email: E-mail address of the client.
  • webAddress: Website of the client.
  • taxNumber: Tax number of the client.
  • vatNumber: VAT number of the client.
  • bankAccountNumber: Bank account number of the client.
  • bankAccountOwner: Bank account owner of the client.
  • bankNumber: Bank identification code of the client.
  • bankName: Bank name of the client.
  • bankSwift: SWIFT/BIC of the client.
  • bankIban: IBAN of the client.
  • sepaMandate: Mandate reference of a SEPA direct debit mandate.
  • sepaMandateDate: Date of issue of the SEPA direct debit mandate.
  • locale: Locale of the client. If a value is not specified, the locale of the account will be applied to the client.
  • taxRule: Tax rule of the client.
  • defaultPaymentTypes: The payment types. Possible values are CASH, BANK_TRANSFER, PAYPAL.
  • netGross: Price basis (net, gross, according to account settings).
  • note: Note for the client.
  • discountRateType: Type of the default value for the discount rate.
  • discountRate: Discount rate to be applied.
  • discountDaysType: Type of the default value for the discount interval.
  • discountDays: Discount period in days.
  • dueDaysType: Type of the default value for maturity.
  • dueDays: Maturity in days from invoice date.
  • reminderDueDaysType: Type of the default value for reminder maturity.
  • reminderDueDays: Reminder maturity.
  • offerValidityDaysType: Type of the default value for validity of estimates.
  • offerValidityDays: Validity of estimates.
  • currencyCode: The currency for this client. If a value is not specified for this, the account currency is used.
  • priceGroup: Articles can have several prices. The price group defines which price applies to the client.
   Sample request

Following is a sample REST/JSON request that can be handled by the createClient operation.

Sample Request for createClient
{
    "archived": "0",
    "numberPre": "testing",
    "number": "12",
    "numberLength": "2",
    "name": "Peter Mark",
    "street": "park street",
    "zip": "23",
    "city": "London",
    "state": "England",
    "countryCode": "UK",
    "firstName": "peter",
    "lastName": "mark",
    "salutation": "Mr",
    "phone": "15378607895",
    "fax": "23466",
    "mobile": "+124467568",
    "email": "peter@gmail.com",
    "webAddress": "peter.com",
    "taxNumber": "2442",
    "vatNumber": "2442",
    "bankAccountNumber": "2435345646",
    "bankAccountOwner": "Bill James",
    "bankNumber": "769854",
    "bankName": "HSBC",
    "bankSwift": "swift",
    "bankIban": "2132",
    "sepaMandate": "Elena",
    "sepaMandateDate": "2015-06-12",
    "locale": "UK",
    "taxRule": "Do the payment",
    "defaultPaymentTypes": "Cash",
    "netGross": "0",
    "note": "Client is on board",
    "discountRateType": "SETTINGS",
    "discountRate": "23",
    "discountDaysType": "SETTINGS",
    "discountDays": "1",
    "dueDaysType": "SETTINGS",
    "dueDays": "30",
    "reminderDueDaysType": "SETTINGS",
    "reminderDueDays": "2",
    "offerValidityDaysType": "SETTINGS",
    "offerValidityDays": "0",
    "currencyCode": "USD",
    "priceGroup": "group1",
    "apiUrl": "https://mycompany.billomat.net",
    "apiKey": "735478efc440e219669e243c0fd71840",
    "format":"xml"
}
Related Billomat documentation

http://www.billomat.com/en/api/clients

Retrieving details of a specific client

The getClient operation retrieves details of a specific client by specifying the ID.

getClient
<billomat.getClient>
	<clientId>{$ctx:clientId}</clientId>
</billomat.getClient>
Properties
  • clientId: The ID of the client whose details you need to retrieve.
   Sample request

Following is a sample REST/JSON request that can be handled by the getClient operation.

Sample Request for getClient
{
    "clientId": "122433",
    "apiUrl": "https://mycompany.billomat.net",
    "apiKey": "735478efc440e219669e243c0fd71840",
    "format":"xml"
}
Related Billomat documentation

http://www.billomat.com/en/api/clients

Retrieving all clients

The listClients operation retrieves all clients.

listClients
<billomat.listClients>
    <page>{$ctx:page}</page>
    <invoiceId>{$ctx:invoiceId}</invoiceId>
    <name>{$ctx:name}</name>
    <clientNumber>{$ctx:clientNumber}</clientNumber>
    <email>{$ctx:email}</email>
    <firstName>{$ctx:firstName}</firstName>
    <lastName>{$ctx:lastName}</lastName>
    <countryCode>{$ctx:countryCode}</countryCode>
    <note>{$ctx:note}</note>
    <tags>{$ctx:tags}</tags>
    <perPage>{$ctx:perPage}</perPage>
	<orderBy>{$ctx:orderBy}</orderBy>
</billomat.listClients>
Properties
  • page: The number of the page to return. Applies to paginated responses.
  • invoiceId: The ID of the invoice of this client. Multiple values can be specified as comma separated values.
  • name: The company name.
  • clientNumber: The client number.
  • email: The e-mail address.
  • firstName: First name of the contact person.
  • lastName: Last name of the contact person.
  • countryCode: The country code specified in the ISO 3166 Alpha-2 format.
  • note: additional details related to the client that you need to specify.
  • tags: Comma separated list of tags.
  • perPage: Number of entries to return per page when results are paginated.
  • orderBy: Sorting orders to retrieve contacts.
   Sample request

Following is a sample REST/JSON request that can be handled by the listClients operation.

Sample Request for listClients
{
    "page": "1",
    "invoiceId": "15674",
    "name": "peter mark",
    "clientNumber": "34567",
    "email": "peter@gmail.com",
    "firstName": "peter",
    "lastName": "mark",
    "countryCode": "UK",
    "note": "on board",
    "tags": "economic",
    "perPage": "2",
    "apiUrl": "https://mycompany.billomat.net",
    "apiKey": "735478efc440e219669e243c0fd71840",
    "format":"xml",
    "orderBy":"id+DESC"
}
Related Billomat documentation

http://www.billomat.com/en/api/clients

Updating the details of the client

The updateClient operation updates the details of the client.

updateClient
<billomat.updateClient>
    <archived>{$ctx:archived}</archived>
    <numberPre>{$ctx:numberPre}</numberPre>
    <number>{$ctx:number}</number>
    <numberLength>{$ctx:numberLength}</numberLength>
    <name>{$ctx:name}</name>
    <street>{$ctx:street}</street>
    <zip>{$ctx:zip}</zip>
    <city>{$ctx:city}</city>
    <state>{$ctx:state}</state>
    <countryCode>{$ctx:countryCode}</countryCode>
    <firstName>{$ctx:firstName}</firstName>
    <lastName>{$ctx:lastName}</lastName>
    <salutation>{$ctx:salutation}</salutation>
    <phone>{$ctx:phone}</phone>
    <fax>{$ctx:fax}</fax>
    <mobile>{$ctx:mobile}</mobile>
    <email>{$ctx:email}</email>
    <webAddress>{$ctx:webAddress}</webAddress>
    <taxNumber>{$ctx:taxNumber}</taxNumber>
    <vatNumber>{$ctx:vatNumber}</vatNumber>
    <bankAccountNumber>{$ctx:bankAccountNumber}</bankAccountNumber>
    <bankAccountOwner>{$ctx:bankAccountOwner}</bankAccountOwner>
    <bankNumber>{$ctx:bankNumber}</bankNumber>
    <bankName>{$ctx:bankName}</bankName>
    <bankSwift>{$ctx:bankSwift}</bankSwift>
    <bankIban>{$ctx:bankIban}</bankIban>
    <sepaMandate>{$ctx:sepaMandate}</sepaMandate>
    <sepaMandateDate>{$ctx:sepaMandateDate}</sepaMandateDate>
    <locale>{$ctx:locale}</locale>
    <taxRule>{$ctx:taxRule}</taxRule>
    <defaultPaymentTypes>{$ctx:defaultPaymentTypes}</defaultPaymentTypes>
    <netGross>{$ctx:netGross}</netGross>
    <note>{$ctx:note}</note>
    <discountRateType>{$ctx:discountRateType}</discountRateType>
    <discountRate>{$ctx:discountRate}</discountRate>
    <discountDaysType>{$ctx:discountDaysType}</discountDaysType>
    <discountDays>{$ctx:discountDays}</discountDays>
    <dueDaysType>{$ctx:dueDaysType}</dueDaysType>
    <dueDays>{$ctx:dueDays}</dueDays>
    <reminderDueDaysType>{$ctx:reminderDueDaysType}</reminderDueDaysType>
    <reminderDueDays>{$ctx:reminderDueDays}</reminderDueDays>
    <offerValidityDaysType>{$ctx:offerValidityDaysType}</offerValidityDaysType>
    <offerValidityDays>{$ctx:offerValidityDays}</offerValidityDays>
    <currencyCode>{$ctx:currencyCode}</currencyCode>
    <priceGroup>{$ctx:priceGroup}</priceGroup>
	<clientId>{$ctx:clientId}</clientId>
</billomat.updateClient>
Properties
  • archived: The storage state of the archive. Possible values are 1 and 0, where 1= archived and 0= active.
  • numberPre: Prefix of the number.
  • number: Sequence number.
  • numberLength: Minimum length of the customer number (to be filled with leading zeros).
  • name: Name of the company.
  • street: Street of the company.
  • zip: Zip code of the company.
  • city: City of the company.
  • state: State of the company.
  • countryCode: Country code of the company.
  • firstName: First name of the client.
  • lastName: Last name of the client.
  • salutation: Salutation of the client.
  • phone: Phone number of the client.
  • fax: Fax number of the client.
  • mobile: Mobile number of the client.
  • email: E-mail address of the client.
  • webAddress: Website of the client.
  • taxNumber: Tax number of the client.
  • vatNumber: VAT number of the client.
  • bankAccountNumber: Bank account number of the client.
  • bankAccountOwner: Bank account owner of the client.
  • bankNumber: Bank identification code of the client.
  • bankName: Bank name of the client.
  • bankSwift: SWIFT/BIC of the client.
  • bankIban: IBAN of the client.
  • sepaMandate: Mandate reference of a SEPA direct debit mandate.
  • sepaMandateDate: Date of issue of the SEPA direct debit mandate.
  • locale: Locale of the client. If a value is not specified, the locale of the account will be applied to the client.
  • taxRule: Tax rule of the client.
  • defaultPaymentTypes: The payment types. Possible values are CASHBANK_TRANSFERPAYPAL.
  • netGross: Price basis (net, gross, according to account settings).
  • note: Note for the client.
  • discountRateType: Type of the default value for the discount rate.
  • discountRate: Discount rate to be applied.
  • discountDaysType: Type of the default value for the discount interval.
  • discountDays: Discount period in days.
  • dueDaysType: Type of the default value for maturity.
  • dueDays: Maturity in days from invoice date.
  • reminderDueDaysType: Type of the default value for reminder maturity.
  • reminderDueDays: Reminder maturity.
  • offerValidityDaysType: Type of the default value for validity of estimates.
  • offerValidityDays: Validity of estimates.
  • currencyCode: The currency for this client. If a value is not specified for this, the account currency is used.
  • priceGroup: Articles can have several prices. The price group defines which price applies to the client.
  • clientId: The ID of the client to update.
   Sample request

Following is a sample REST/JSON request that can be handled by the updateClient operation.

Sample Request for updateClient
{
    "archived": "0",
    "numberPre": "testing",
    "number": "12",
    "numberLength": "2",
    "name": "Peter Mark",
    "street": "park street",
    "zip": "23",
    "city": "London",
    "state": "England",
    "countryCode": "UK",
    "firstName": "peter",
    "lastName": "mark",
    "salutation": "Mr",
    "phone": "15378607895",
    "fax": "23466",
    "mobile": "+124467568",
    "email": "peter@gmail.com",
    "webAddress": "peter.com",
    "taxNumber": "2442",
    "vatNumber": "2442",
    "bankAccountNumber": "2435345646",
    "bankAccountOwner": "Bill James",
    "bankNumber": "769854",
    "bankName": "HSBC",
    "bankSwift": "swift",
    "bankIban": "2132",
    "sepaMandate": "Elena",
    "sepaMandateDate": "2015-06-12",
    "locale": "UK",
    "taxRule": "Do the payemetn",
    "defaultPaymentTypes": "Cash",
    "netGross": "0",
    "note": "Client is on board",
    "discountRateType": "SETTINGS",
    "discountRate": "23",
    "discountDaysType": "SETTINGS",
    "discountDays": "1",
    "dueDaysType": "SETTINGS",
    "dueDays": "30",
    "reminderDueDaysType": "SETTINGS",
    "reminderDueDays": "2",
    "offerValidityDaysType": "SETTINGS",
    "offerValidityDays": "0",
    "currencyCode": "USD",
    "priceGroup": "group1",
	"clientId": "34567",
    "apiUrl": "https://mycompany.billomat.net",
    "apiKey": "735478efc440e219669e243c0fd71840",
    "format":"xml"
}

Related Billomat documentation

http://www.billomat.com/en/api/clients

Sample configuration

Following is a sample proxy service that illustrates how to connect to Billomat with the init operation and use the createClient operation. The sample request for this proxy can be found in the createClient sample request.

Sample Proxy
<?xml version="1.0" encoding="UTF-8"?>
<proxy name="billomat_createClient" startOnLoad="true" statistics="disable" trace="disable" transports="https,http" xmlns="http://ws.apache.org/ns/synapse">
   <target>
      <inSequence onError="faultHandlerSeq">
         <property name="apiUrl" expression="json-eval($.apiUrl)"/>
         <property name="apiKey" expression="json-eval($.apiKey)"/>
		 <property name="format" expression="json-eval($.format)"/>
         <property name="archived" expression="json-eval($.archived)"/>
         <property name="numberPre" expression="json-eval($.numberPre)"/>
         <property name="number" expression="json-eval($.number)"/>
         <property name="numberLength" expression="json-eval($.numberLength)"/>
         <property name="name" expression="json-eval($.name)"/>
         <property name="street" expression="json-eval($.street)"/>
         <property name="zip" expression="json-eval($.zip)"/>
         <property name="city" expression="json-eval($.city)"/>
         <property name="state" expression="json-eval($.state)"/>
         <property name="countryCode" expression="json-eval($.countryCode)"/>
         <property name="firstName" expression="json-eval($.firstName)"/>
         <property name="lastName" expression="json-eval($.lastName)"/>
         <property name="salutation" expression="json-eval($.salutation)"/>
         <property name="phone" expression="json-eval($.phone)"/>
         <property name="fax" expression="json-eval($.fax)"/>
         <property name="mobile" expression="json-eval($.mobile)"/>
         <property name="email" expression="json-eval($.email)"/>
         <property name="webAddress" expression="json-eval($.webAddress)"/>
         <property name="taxNumber" expression="json-eval($.taxNumber)"/>
         <property name="vatNumber" expression="json-eval($.vatNumber)"/>
         <property name="bankAccountNumber" expression="json-eval($.bankAccountNumber)"/>
         <property name="bankAccountOwner" expression="json-eval($.bankAccountOwner)"/>
         <property name="bankNumber" expression="json-eval($.bankNumber)"/>
         <property name="bankName" expression="json-eval($.bankName)"/>
         <property name="bankSwift" expression="json-eval($.bankSwift)"/>
         <property name="bankIban" expression="json-eval($.bankIban)"/>
         <property name="sepaMandate" expression="json-eval($.sepaMandate)"/>
         <property name="sepaMandateDate" expression="json-eval($.sepaMandateDate)"/>
         <property name="locale" expression="json-eval($.locale)"/>
         <property name="taxRule" expression="json-eval($.taxRule)"/>
         <property name="defaultPaymentTypes" expression="json-eval($.defaultPaymentTypes)"/>
         <property name="netGross" expression="json-eval($.netGross)"/>
         <property name="note" expression="json-eval($.note)"/>
         <property name="discountRateType" expression="json-eval($.discountRateType)"/>
         <property name="discountRate" expression="json-eval($.discountRate)"/>
         <property name="discountDaysType" expression="json-eval($.discountDaysType)"/>
         <property name="discountDays" expression="json-eval($.discountDays)"/>
         <property name="dueDaysType" expression="json-eval($.dueDaysType)"/>
         <property name="dueDays" expression="json-eval($.dueDays)"/>
         <property name="reminderDueDaysType" expression="json-eval($.reminderDueDaysType)"/>
         <property name="reminderDueDays" expression="json-eval($.reminderDueDays)"/>
         <property name="offerValidityDaysType" expression="json-eval($.offerValidityDaysType)"/>
         <property name="offerValidityDays" expression="json-eval($.offerValidityDays)"/>
         <property name="currencyCode" expression="json-eval($.currencyCode)"/>
         <property name="priceGroup" expression="json-eval($.priceGroup)"/>
         <billomat.init>
            <apiUrl>{$ctx:apiUrl}</apiUrl>
            <apiKey>{$ctx:apiKey}</apiKey>
			<format>{$ctx:format}</format>
         </billomat.init>
         <billomat.createClient>
            <archived>{$ctx:archived}</archived>
            <numberPre>{$ctx:numberPre}</numberPre>
            <number>{$ctx:number}</number>
            <numberLength>{$ctx:numberLength}</numberLength>
            <name>{$ctx:name}</name>
            <street>{$ctx:street}</street>
            <zip>{$ctx:zip}</zip>
            <city>{$ctx:city}</city>
            <state>{$ctx:state}</state>
            <countryCode>{$ctx:countryCode}</countryCode>
            <firstName>{$ctx:firstName}</firstName>
            <lastName>{$ctx:lastName}</lastName>
            <salutation>{$ctx:salutation}</salutation>
            <phone>{$ctx:phone}</phone>
            <fax>{$ctx:fax}</fax>
            <mobile>{$ctx:mobile}</mobile>
            <email>{$ctx:email}</email>
            <webAddress>{$ctx:webAddress}</webAddress>
            <taxNumber>{$ctx:taxNumber}</taxNumber>
            <vatNumber>{$ctx:vatNumber}</vatNumber>
            <bankAccountNumber>{$ctx:bankAccountNumber}</bankAccountNumber>
            <bankAccountOwner>{$ctx:bankAccountOwner}</bankAccountOwner>
            <bankNumber>{$ctx:bankNumber}</bankNumber>
            <bankName>{$ctx:bankName}</bankName>
            <bankSwift>{$ctx:bankSwift}</bankSwift>
            <bankIban>{$ctx:bankIban}</bankIban>
            <sepaMandate>{$ctx:sepaMandate}</sepaMandate>
            <sepaMandateDate>{$ctx:sepaMandateDate}</sepaMandateDate>
            <locale>{$ctx:locale}</locale>
            <taxRule>{$ctx:taxRule}</taxRule>
            <defaultPaymentTypes>{$ctx:defaultPaymentTypes}</defaultPaymentTypes>
            <netGross>{$ctx:netGross}</netGross>
            <note>{$ctx:note}</note>
            <discountRateType>{$ctx:discountRateType}</discountRateType>
            <discountRate>{$ctx:discountRate}</discountRate>
            <discountDaysType>{$ctx:discountDaysType}</discountDaysType>
            <discountDays>{$ctx:discountDays}</discountDays>
            <dueDaysType>{$ctx:dueDaysType}</dueDaysType>
            <dueDays>{$ctx:dueDays}</dueDays>
            <reminderDueDaysType>{$ctx:reminderDueDaysType}</reminderDueDaysType>
            <reminderDueDays>{$ctx:reminderDueDays}</reminderDueDays>
            <offerValidityDaysType>{$ctx:offerValidityDaysType}</offerValidityDaysType>
            <offerValidityDays>{$ctx:offerValidityDays}</offerValidityDays>
            <currencyCode>{$ctx:currencyCode}</currencyCode>
            <priceGroup>{$ctx:priceGroup}</priceGroup>
         </billomat.createClient>
         <respond/>
      </inSequence>
      <outSequence>
         <send/>
      </outSequence>
   </target>
   <description/>
</proxy>