File Coverage

blib/lib/Net/KashFlowAPI.pm
Criterion Covered Total %
statement 1 3 33.3
branch n/a
condition n/a
subroutine 1 1 100.0
pod n/a
total 2 4 50.0


line stmt bran cond sub pod time code
1             package KashFlowAPI;
2             # THIS HAS BEEN HEAVILY HACKED. DO NOT REGENERATE
3              
4             # Generated by SOAP::Lite (v0.710.10) for Perl -- soaplite.com
5             # Copyright (C) 2000-2006 Paul Kulchenko, Byrne Reese
6             # -- generated at [Thu Dec 31 10:51:16 2009]
7             # -- generated from https://securedwebapp.com/api/service.asmx?wsdl
8             my %methods = (
9             GetDigitaCSVFile => {
10             endpoint => 'https://securedwebapp.com/api/service.asmx',
11             soapaction => 'KashFlow/GetDigitaCSVFile',
12             namespace => 'KashFlow',
13             parameters => [
14             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
15             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
16             SOAP::Data->new(name => 'StartDate', type => 'xsd:dateTime', attr => {}),
17             SOAP::Data->new(name => 'EndDate', type => 'xsd:dateTime', attr => {}),
18             ], # end parameters
19             }, # end GetDigitaCSVFile
20             EmailInvoice => {
21             endpoint => 'https://securedwebapp.com/api/service.asmx',
22             soapaction => 'KashFlow/EmailInvoice',
23             namespace => 'KashFlow',
24             parameters => [
25             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
26             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
27             SOAP::Data->new(name => 'InvoiceNumber', type => 'xsd:int', attr => {}),
28             SOAP::Data->new(name => 'FromEmail', type => 'xsd:string', attr => {}),
29             SOAP::Data->new(name => 'FromName', type => 'xsd:string', attr => {}),
30             SOAP::Data->new(name => 'SubjectLine', type => 'xsd:string', attr => {}),
31             SOAP::Data->new(name => 'Body', type => 'xsd:string', attr => {}),
32             SOAP::Data->new(name => 'RecipientEmail', type => 'xsd:string', attr => {}),
33             ], # end parameters
34             }, # end EmailInvoice
35             GetNominalLedger => {
36             endpoint => 'https://securedwebapp.com/api/service.asmx',
37             soapaction => 'KashFlow/GetNominalLedger',
38             namespace => 'KashFlow',
39             parameters => [
40             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
41             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
42             SOAP::Data->new(name => 'StartDate', type => 'xsd:dateTime', attr => {}),
43             SOAP::Data->new(name => 'EndDate', type => 'xsd:dateTime', attr => {}),
44             SOAP::Data->new(name => 'NominalID', type => 'xsd:int', attr => {}),
45             ], # end parameters
46             }, # end GetNominalLedger
47             GetJournals => {
48             endpoint => 'https://securedwebapp.com/api/service.asmx',
49             soapaction => 'KashFlow/GetJournals',
50             namespace => 'KashFlow',
51             parameters => [
52             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
53             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
54             ], # end parameters
55             }, # end GetJournals
56             GetBankTxTypes => {
57             endpoint => 'https://securedwebapp.com/api/service.asmx',
58             soapaction => 'KashFlow/GetBankTxTypes',
59             namespace => 'KashFlow',
60             parameters => [
61             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
62             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
63             ], # end parameters
64             }, # end GetBankTxTypes
65             SetCustomerVATNumber => {
66             endpoint => 'https://securedwebapp.com/api/service.asmx',
67             soapaction => 'KashFlow/SetCustomerVATNumber',
68             namespace => 'KashFlow',
69             parameters => [
70             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
71             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
72             SOAP::Data->new(name => 'CustVATNumber', type => 'xsd:string', attr => {}),
73             SOAP::Data->new(name => 'CustomerCode', type => 'xsd:string', attr => {}),
74             ], # end parameters
75             }, # end SetCustomerVATNumber
76             GetQuotes => {
77             endpoint => 'https://securedwebapp.com/api/service.asmx',
78             soapaction => 'KashFlow/GetQuotes',
79             namespace => 'KashFlow',
80             parameters => [
81             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
82             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
83             ], # end parameters
84             }, # end GetQuotes
85             GetPaypalLink => {
86             endpoint => 'https://securedwebapp.com/api/service.asmx',
87             soapaction => 'KashFlow/GetPaypalLink',
88             namespace => 'KashFlow',
89             parameters => [
90             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
91             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
92             SOAP::Data->new(name => 'InvoiceNumber', type => 'xsd:int', attr => {}),
93             ], # end parameters
94             }, # end GetPaypalLink
95             GetVATReport => {
96             endpoint => 'https://securedwebapp.com/api/service.asmx',
97             soapaction => 'KashFlow/GetVATReport',
98             namespace => 'KashFlow',
99             parameters => [
100             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
101             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
102             SOAP::Data->new(name => 'StartDate', type => 'xsd:dateTime', attr => {}),
103             SOAP::Data->new(name => 'EndDate', type => 'xsd:dateTime', attr => {}),
104             ], # end parameters
105             }, # end GetVATReport
106             InsertReceipt => {
107             endpoint => 'https://securedwebapp.com/api/service.asmx',
108             soapaction => 'KashFlow/InsertReceipt',
109             namespace => 'KashFlow',
110             parameters => [
111             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
112             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
113             SOAP::Data->new(name => 'Inv', type => 'tns:Invoice', attr => {}),
114             ], # end parameters
115             }, # end InsertReceipt
116             UpdateReceipt => {
117             endpoint => 'https://securedwebapp.com/api/service.asmx',
118             soapaction => 'KashFlow/UpdateReceipt',
119             namespace => 'KashFlow',
120             parameters => [
121             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
122             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
123             SOAP::Data->new(name => 'Receipt', type => 'tns:Invoice', attr => {}),
124             ], # end parameters
125             }, # end UpdateReceipt
126             DeleteQuote => {
127             endpoint => 'https://securedwebapp.com/api/service.asmx',
128             soapaction => 'KashFlow/DeleteQuote',
129             namespace => 'KashFlow',
130             parameters => [
131             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
132             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
133             SOAP::Data->new(name => 'QuoteNumber', type => 'xsd:int', attr => {}),
134             ], # end parameters
135             }, # end DeleteQuote
136             DeleteInvoiceByID => {
137             endpoint => 'https://securedwebapp.com/api/service.asmx',
138             soapaction => 'KashFlow/DeleteInvoiceByID',
139             namespace => 'KashFlow',
140             parameters => [
141             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
142             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
143             SOAP::Data->new(name => 'InvoiceID', type => 'xsd:int', attr => {}),
144             ], # end parameters
145             }, # end DeleteInvoiceByID
146             DeleteInvoiceLine => {
147             endpoint => 'https://securedwebapp.com/api/service.asmx',
148             soapaction => 'KashFlow/DeleteInvoiceLine',
149             namespace => 'KashFlow',
150             parameters => [
151             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
152             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
153             SOAP::Data->new(name => 'LineID', type => 'xsd:int', attr => {}),
154             SOAP::Data->new(name => 'InvoiceNumber', type => 'xsd:int', attr => {}),
155             ], # end parameters
156             }, # end DeleteInvoiceLine
157             SageFileImport => {
158             endpoint => 'https://securedwebapp.com/api/service.asmx',
159             soapaction => 'KashFlow/SageFileImport',
160             namespace => 'KashFlow',
161             parameters => [
162             SOAP::Data->new(name => 'iSetID', type => 'xsd:int', attr => {}),
163             ], # end parameters
164             }, # end SageFileImport
165             UpdateInvoice => {
166             endpoint => 'https://securedwebapp.com/api/service.asmx',
167             soapaction => 'KashFlow/UpdateInvoice',
168             namespace => 'KashFlow',
169             parameters => [
170             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
171             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
172             SOAP::Data->new(name => 'Inv', type => 'tns:Invoice', attr => {}),
173             ], # end parameters
174             }, # end UpdateInvoice
175             InsertJournal => {
176             endpoint => 'https://securedwebapp.com/api/service.asmx',
177             soapaction => 'KashFlow/InsertJournal',
178             namespace => 'KashFlow',
179             parameters => [
180             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
181             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
182             SOAP::Data->new(name => 'Jnl', type => 'tns:JournalEntry', attr => {}),
183             ], # end parameters
184             }, # end InsertJournal
185             InsertInvoicePayment => {
186             endpoint => 'https://securedwebapp.com/api/service.asmx',
187             soapaction => 'KashFlow/InsertInvoicePayment',
188             namespace => 'KashFlow',
189             parameters => [
190             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
191             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
192             SOAP::Data->new(name => 'InvoicePayment', type => 'tns:Payment', attr => {}),
193             ], # end parameters
194             }, # end InsertInvoicePayment
195             GetInvoicesForCustomer => {
196             endpoint => 'https://securedwebapp.com/api/service.asmx',
197             soapaction => 'KashFlow/GetInvoicesForCustomer',
198             namespace => 'KashFlow',
199             parameters => [
200             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
201             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
202             SOAP::Data->new(name => 'CustID', type => 'xsd:int', attr => {}),
203             ], # end parameters
204             }, # end GetInvoicesForCustomer
205             GetTrialBalance => {
206             endpoint => 'https://securedwebapp.com/api/service.asmx',
207             soapaction => 'KashFlow/GetTrialBalance',
208             namespace => 'KashFlow',
209             parameters => [
210             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
211             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
212             SOAP::Data->new(name => 'StartDate', type => 'xsd:dateTime', attr => {}),
213             SOAP::Data->new(name => 'EndDate', type => 'xsd:dateTime', attr => {}),
214             ], # end parameters
215             }, # end GetTrialBalance
216             GetReceiptPayment => {
217             endpoint => 'https://securedwebapp.com/api/service.asmx',
218             soapaction => 'KashFlow/GetReceiptPayment',
219             namespace => 'KashFlow',
220             parameters => [
221             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
222             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
223             SOAP::Data->new(name => 'ReceiptNumber', type => 'xsd:int', attr => {}),
224             ], # end parameters
225             }, # end GetReceiptPayment
226             DeleteQuoteByID => {
227             endpoint => 'https://securedwebapp.com/api/service.asmx',
228             soapaction => 'KashFlow/DeleteQuoteByID',
229             namespace => 'KashFlow',
230             parameters => [
231             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
232             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
233             SOAP::Data->new(name => 'QuoteID', type => 'xsd:int', attr => {}),
234             ], # end parameters
235             }, # end DeleteQuoteByID
236             GetReceipt => {
237             endpoint => 'https://securedwebapp.com/api/service.asmx',
238             soapaction => 'KashFlow/GetReceipt',
239             namespace => 'KashFlow',
240             parameters => [
241             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
242             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
243             SOAP::Data->new(name => 'ReceiptNumber', type => 'xsd:int', attr => {}),
244             ], # end parameters
245             }, # end GetReceipt
246             GetCustomerByEmail => {
247             endpoint => 'https://securedwebapp.com/api/service.asmx',
248             soapaction => 'KashFlow/GetCustomerByEmail',
249             namespace => 'KashFlow',
250             parameters => [
251             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
252             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
253             SOAP::Data->new(name => 'CustomerEmail', type => 'xsd:string', attr => {}),
254             ], # end parameters
255             }, # end GetCustomerByEmail
256             DeleteInvoice => {
257             endpoint => 'https://securedwebapp.com/api/service.asmx',
258             soapaction => 'KashFlow/DeleteInvoice',
259             namespace => 'KashFlow',
260             parameters => [
261             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
262             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
263             SOAP::Data->new(name => 'InvoiceNumber', type => 'xsd:int', attr => {}),
264             ], # end parameters
265             }, # end DeleteInvoice
266             SetSupplierVATNumber => {
267             endpoint => 'https://securedwebapp.com/api/service.asmx',
268             soapaction => 'KashFlow/SetSupplierVATNumber',
269             namespace => 'KashFlow',
270             parameters => [
271             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
272             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
273             SOAP::Data->new(name => 'SupVATNumber', type => 'xsd:string', attr => {}),
274             SOAP::Data->new(name => 'SupplierCode', type => 'xsd:string', attr => {}),
275             ], # end parameters
276             }, # end SetSupplierVATNumber
277             GetNominalCodesExtended => {
278             endpoint => 'https://securedwebapp.com/api/service.asmx',
279             soapaction => 'KashFlow/GetNominalCodesExtended',
280             namespace => 'KashFlow',
281             parameters => [
282             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
283             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
284             ], # end parameters
285             }, # end GetNominalCodesExtended
286             DeleteSupplier => {
287             endpoint => 'https://securedwebapp.com/api/service.asmx',
288             soapaction => 'KashFlow/DeleteSupplier',
289             namespace => 'KashFlow',
290             parameters => [
291             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
292             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
293             SOAP::Data->new(name => 'SupplierID', type => 'xsd:int', attr => {}),
294             ], # end parameters
295             }, # end DeleteSupplier
296             InsertInvoiceLineWithInvoiceNumber => {
297             endpoint => 'https://securedwebapp.com/api/service.asmx',
298             soapaction => 'KashFlow/InsertInvoiceLineWithInvoiceNumber',
299             namespace => 'KashFlow',
300             parameters => [
301             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
302             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
303             SOAP::Data->new(name => 'InvoiceNumber', type => 'xsd:int', attr => {}),
304             SOAP::Data->new(name => 'InvLine', type => 'tns:InvoiceLine', attr => {}),
305             ], # end parameters
306             }, # end InsertInvoiceLineWithInvoiceNumber
307             AutoAuthIP => {
308             endpoint => 'https://securedwebapp.com/api/service.asmx',
309             soapaction => 'KashFlow/AutoAuthIP',
310             namespace => 'KashFlow',
311             parameters => [
312             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
313             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
314             SOAP::Data->new(name => 'appName', type => 'xsd:string', attr => {}),
315             SOAP::Data->new(name => 'AutoAuthKey', type => 'xsd:string', attr => {}),
316             ], # end parameters
317             }, # end AutoAuthIP
318             GetQuoteByID => {
319             endpoint => 'https://securedwebapp.com/api/service.asmx',
320             soapaction => 'KashFlow/GetQuoteByID',
321             namespace => 'KashFlow',
322             parameters => [
323             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
324             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
325             SOAP::Data->new(name => 'QuoteID', type => 'xsd:int', attr => {}),
326             ], # end parameters
327             }, # end GetQuoteByID
328             DeleteQuoteLine => {
329             endpoint => 'https://securedwebapp.com/api/service.asmx',
330             soapaction => 'KashFlow/DeleteQuoteLine',
331             namespace => 'KashFlow',
332             parameters => [
333             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
334             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
335             SOAP::Data->new(name => 'LineID', type => 'xsd:int', attr => {}),
336             SOAP::Data->new(name => 'QuoteNumber', type => 'xsd:int', attr => {}),
337             ], # end parameters
338             }, # end DeleteQuoteLine
339             InsertSupplier => {
340             endpoint => 'https://securedwebapp.com/api/service.asmx',
341             soapaction => 'KashFlow/InsertSupplier',
342             namespace => 'KashFlow',
343             parameters => [
344             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
345             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
346             SOAP::Data->new(name => 'supl', type => 'tns:Supplier', attr => {}),
347             ], # end parameters
348             }, # end InsertSupplier
349             GetProfitAndLoss => {
350             endpoint => 'https://securedwebapp.com/api/service.asmx',
351             soapaction => 'KashFlow/GetProfitAndLoss',
352             namespace => 'KashFlow',
353             parameters => [
354             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
355             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
356             SOAP::Data->new(name => 'StartDate', type => 'xsd:dateTime', attr => {}),
357             SOAP::Data->new(name => 'EndDate', type => 'xsd:dateTime', attr => {}),
358             ], # end parameters
359             }, # end GetProfitAndLoss
360             SageFile => {
361             endpoint => 'https://securedwebapp.com/api/service.asmx',
362             soapaction => 'KashFlow/SageFile',
363             namespace => 'KashFlow',
364             parameters => [
365             SOAP::Data->new(name => 'buffer', type => 'xsd:base64Binary', attr => {}),
366             SOAP::Data->new(name => 'reference', type => 'xsd:string', attr => {}),
367             ], # end parameters
368             }, # end SageFile
369             DeleteJournal => {
370             endpoint => 'https://securedwebapp.com/api/service.asmx',
371             soapaction => 'KashFlow/DeleteJournal',
372             namespace => 'KashFlow',
373             parameters => [
374             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
375             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
376             SOAP::Data->new(name => 'JournalNumber', type => 'xsd:int', attr => {}),
377             ], # end parameters
378             }, # end DeleteJournal
379             GetSuppliers => {
380             endpoint => 'https://securedwebapp.com/api/service.asmx',
381             soapaction => 'KashFlow/GetSuppliers',
382             namespace => 'KashFlow',
383             parameters => [
384             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
385             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
386             ], # end parameters
387             }, # end GetSuppliers
388             InsertNominalCode => {
389             endpoint => 'https://securedwebapp.com/api/service.asmx',
390             soapaction => 'KashFlow/InsertNominalCode',
391             namespace => 'KashFlow',
392             parameters => [
393             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
394             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
395             SOAP::Data->new(name => 'name', type => 'xsd:string', attr => {}),
396             SOAP::Data->new(name => 'code', type => 'xsd:int', attr => {}),
397             SOAP::Data->new(name => 'classification', type => 'xsd:int', attr => {}),
398             SOAP::Data->new(name => 'nomtype', type => 'xsd:int', attr => {}),
399             ], # end parameters
400             }, # end InsertNominalCode
401             GetBankBalance => {
402             endpoint => 'https://securedwebapp.com/api/service.asmx',
403             soapaction => 'KashFlow/GetBankBalance',
404             namespace => 'KashFlow',
405             parameters => [
406             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
407             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
408             SOAP::Data->new(name => 'AccountID', type => 'xsd:int', attr => {}),
409             SOAP::Data->new(name => 'BalanceDate', type => 'xsd:dateTime', attr => {}),
410             ], # end parameters
411             }, # end GetBankBalance
412             GetBankOverview => {
413             endpoint => 'https://securedwebapp.com/api/service.asmx',
414             soapaction => 'KashFlow/GetBankOverview',
415             namespace => 'KashFlow',
416             parameters => [
417             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
418             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
419             ], # end parameters
420             }, # end GetBankOverview
421             GetSupplierByID => {
422             endpoint => 'https://securedwebapp.com/api/service.asmx',
423             soapaction => 'KashFlow/GetSupplierByID',
424             namespace => 'KashFlow',
425             parameters => [
426             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
427             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
428             SOAP::Data->new(name => 'SupplierID', type => 'xsd:int', attr => {}),
429             ], # end parameters
430             }, # end GetSupplierByID
431             GetReceiptsForSupplier => {
432             endpoint => 'https://securedwebapp.com/api/service.asmx',
433             soapaction => 'KashFlow/GetReceiptsForSupplier',
434             namespace => 'KashFlow',
435             parameters => [
436             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
437             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
438             SOAP::Data->new(name => 'SupplierID', type => 'xsd:int', attr => {}),
439             ], # end parameters
440             }, # end GetReceiptsForSupplier
441             DeleteInvoicePayment => {
442             endpoint => 'https://securedwebapp.com/api/service.asmx',
443             soapaction => 'KashFlow/DeleteInvoicePayment',
444             namespace => 'KashFlow',
445             parameters => [
446             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
447             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
448             SOAP::Data->new(name => 'InvoicePaymentNumber', type => 'xsd:int', attr => {}),
449             ], # end parameters
450             }, # end DeleteInvoicePayment
451             GetInvoicePayment => {
452             endpoint => 'https://securedwebapp.com/api/service.asmx',
453             soapaction => 'KashFlow/GetInvoicePayment',
454             namespace => 'KashFlow',
455             parameters => [
456             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
457             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
458             SOAP::Data->new(name => 'InvoiceNumber', type => 'xsd:int', attr => {}),
459             ], # end parameters
460             }, # end GetInvoicePayment
461             GetReceiptAttachments => {
462             endpoint => 'https://securedwebapp.com/api/service.asmx',
463             soapaction => 'KashFlow/GetReceiptAttachments',
464             namespace => 'KashFlow',
465             parameters => [
466             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
467             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
468             SOAP::Data->new(name => 'ReceiptID', type => 'xsd:int', attr => {}),
469             ], # end parameters
470             }, # end GetReceiptAttachments
471             GetBankAccounts => {
472             endpoint => 'https://securedwebapp.com/api/service.asmx',
473             soapaction => 'KashFlow/GetBankAccounts',
474             namespace => 'KashFlow',
475             parameters => [
476             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
477             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
478             ], # end parameters
479             }, # end GetBankAccounts
480             GetQuotesForCustomer => {
481             endpoint => 'https://securedwebapp.com/api/service.asmx',
482             soapaction => 'KashFlow/GetQuotesForCustomer',
483             namespace => 'KashFlow',
484             parameters => [
485             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
486             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
487             SOAP::Data->new(name => 'CustID', type => 'xsd:int', attr => {}),
488             ], # end parameters
489             }, # end GetQuotesForCustomer
490             DeleteBankTransaction => {
491             endpoint => 'https://securedwebapp.com/api/service.asmx',
492             soapaction => 'KashFlow/DeleteBankTransaction',
493             namespace => 'KashFlow',
494             parameters => [
495             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
496             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
497             SOAP::Data->new(name => 'TransactionID', type => 'xsd:int', attr => {}),
498             ], # end parameters
499             }, # end DeleteBankTransaction
500             GetInvoiceByID => {
501             endpoint => 'https://securedwebapp.com/api/service.asmx',
502             soapaction => 'KashFlow/GetInvoiceByID',
503             namespace => 'KashFlow',
504             parameters => [
505             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
506             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
507             SOAP::Data->new(name => 'InvoiceID', type => 'xsd:int', attr => {}),
508             ], # end parameters
509             }, # end GetInvoiceByID
510             DeleteReceiptLine => {
511             endpoint => 'https://securedwebapp.com/api/service.asmx',
512             soapaction => 'KashFlow/DeleteReceiptLine',
513             namespace => 'KashFlow',
514             parameters => [
515             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
516             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
517             SOAP::Data->new(name => 'LineID', type => 'xsd:int', attr => {}),
518             SOAP::Data->new(name => 'ReceiptNumber', type => 'xsd:int', attr => {}),
519             ], # end parameters
520             }, # end DeleteReceiptLine
521             InsertQuote => {
522             endpoint => 'https://securedwebapp.com/api/service.asmx',
523             soapaction => 'KashFlow/InsertQuote',
524             namespace => 'KashFlow',
525             parameters => [
526             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
527             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
528             SOAP::Data->new(name => 'Quote', type => 'tns:Invoice', attr => {}),
529             ], # end parameters
530             }, # end InsertQuote
531             GetProjects => {
532             endpoint => 'https://securedwebapp.com/api/service.asmx',
533             soapaction => 'KashFlow/GetProjects',
534             namespace => 'KashFlow',
535             parameters => [
536             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
537             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
538             ], # end parameters
539             }, # end GetProjects
540             GetCustomerCurrency => {
541             endpoint => 'https://securedwebapp.com/api/service.asmx',
542             soapaction => 'KashFlow/GetCustomerCurrency',
543             namespace => 'KashFlow',
544             parameters => [
545             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
546             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
547             SOAP::Data->new(name => 'CustomerCode', type => 'xsd:string', attr => {}),
548             ], # end parameters
549             }, # end GetCustomerCurrency
550             GetNominalCodes => {
551             endpoint => 'https://securedwebapp.com/api/service.asmx',
552             soapaction => 'KashFlow/GetNominalCodes',
553             namespace => 'KashFlow',
554             parameters => [
555             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
556             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
557             ], # end parameters
558             }, # end GetNominalCodes
559             UpdateJournal => {
560             endpoint => 'https://securedwebapp.com/api/service.asmx',
561             soapaction => 'KashFlow/UpdateJournal',
562             namespace => 'KashFlow',
563             parameters => [
564             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
565             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
566             SOAP::Data->new(name => 'Jnl', type => 'tns:JournalEntry', attr => {}),
567             ], # end parameters
568             }, # end UpdateJournal
569             PrintInvoice => {
570             endpoint => 'https://securedwebapp.com/api/service.asmx',
571             soapaction => 'KashFlow/PrintInvoice',
572             namespace => 'KashFlow',
573             parameters => [
574             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
575             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
576             SOAP::Data->new(name => 'InvoiceNumber', type => 'xsd:int', attr => {}),
577             SOAP::Data->new(name => 'InvoiceNumberList', type => 'xsd:string', attr => {}),
578             ], # end parameters
579             }, # end PrintInvoice
580             GetMonthlyProfitAndLoss => {
581             endpoint => 'https://securedwebapp.com/api/service.asmx',
582             soapaction => 'KashFlow/GetMonthlyProfitAndLoss',
583             namespace => 'KashFlow',
584             parameters => [
585             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
586             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
587             SOAP::Data->new(name => 'StartDate', type => 'xsd:dateTime', attr => {}),
588             SOAP::Data->new(name => 'EndDate', type => 'xsd:dateTime', attr => {}),
589             ], # end parameters
590             }, # end GetMonthlyProfitAndLoss
591             GetJournal => {
592             endpoint => 'https://securedwebapp.com/api/service.asmx',
593             soapaction => 'KashFlow/GetJournal',
594             namespace => 'KashFlow',
595             parameters => [
596             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
597             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
598             SOAP::Data->new(name => 'JournalNumber', type => 'xsd:int', attr => {}),
599             ], # end parameters
600             }, # end GetJournal
601             GetRecPayMethods => {
602             endpoint => 'https://securedwebapp.com/api/service.asmx',
603             soapaction => 'KashFlow/GetRecPayMethods',
604             namespace => 'KashFlow',
605             parameters => [
606             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
607             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
608             ], # end parameters
609             }, # end GetRecPayMethods
610             GetCustomerSources => {
611             endpoint => 'https://securedwebapp.com/api/service.asmx',
612             soapaction => 'KashFlow/GetCustomerSources',
613             namespace => 'KashFlow',
614             parameters => [
615             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
616             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
617             ], # end parameters
618             }, # end GetCustomerSources
619             GetCustomerVATNumber => {
620             endpoint => 'https://securedwebapp.com/api/service.asmx',
621             soapaction => 'KashFlow/GetCustomerVATNumber',
622             namespace => 'KashFlow',
623             parameters => [
624             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
625             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
626             SOAP::Data->new(name => 'CustomerCode', type => 'xsd:string', attr => {}),
627             ], # end parameters
628             }, # end GetCustomerVATNumber
629             InsertReceiptLine => {
630             endpoint => 'https://securedwebapp.com/api/service.asmx',
631             soapaction => 'KashFlow/InsertReceiptLine',
632             namespace => 'KashFlow',
633             parameters => [
634             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
635             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
636             SOAP::Data->new(name => 'ReceiptID', type => 'xsd:int', attr => {}),
637             SOAP::Data->new(name => 'InvLine', type => 'tns:InvoiceLine', attr => {}),
638             ], # end parameters
639             }, # end InsertReceiptLine
640             DeleteReceiptAttachment => {
641             endpoint => 'https://securedwebapp.com/api/service.asmx',
642             soapaction => 'KashFlow/DeleteReceiptAttachment',
643             namespace => 'KashFlow',
644             parameters => [
645             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
646             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
647             SOAP::Data->new(name => 'ReceiptID', type => 'xsd:int', attr => {}),
648             SOAP::Data->new(name => 'AttachmentID', type => 'xsd:int', attr => {}),
649             ], # end parameters
650             }, # end DeleteReceiptAttachment
651             DeleteCustomer => {
652             endpoint => 'https://securedwebapp.com/api/service.asmx',
653             soapaction => 'KashFlow/DeleteCustomer',
654             namespace => 'KashFlow',
655             parameters => [
656             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
657             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
658             SOAP::Data->new(name => 'CustomerID', type => 'xsd:int', attr => {}),
659             ], # end parameters
660             }, # end DeleteCustomer
661             GetCustomerByID => {
662             endpoint => 'https://securedwebapp.com/api/service.asmx',
663             soapaction => 'KashFlow/GetCustomerByID',
664             namespace => 'KashFlow',
665             parameters => [
666             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
667             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
668             SOAP::Data->new(name => 'CustomerID', type => 'xsd:int', attr => {}),
669             ], # end parameters
670             }, # end GetCustomerByID
671             GetRemoteLoginURL => {
672             endpoint => 'https://securedwebapp.com/api/service.asmx',
673             soapaction => 'KashFlow/GetRemoteLoginURL',
674             namespace => 'KashFlow',
675             parameters => [
676             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
677             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
678             ], # end parameters
679             }, # end GetRemoteLoginURL
680             GetInvPayMethods => {
681             endpoint => 'https://securedwebapp.com/api/service.asmx',
682             soapaction => 'KashFlow/GetInvPayMethods',
683             namespace => 'KashFlow',
684             parameters => [
685             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
686             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
687             ], # end parameters
688             }, # end GetInvPayMethods
689             SetSupplierCurrency => {
690             endpoint => 'https://securedwebapp.com/api/service.asmx',
691             soapaction => 'KashFlow/SetSupplierCurrency',
692             namespace => 'KashFlow',
693             parameters => [
694             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
695             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
696             SOAP::Data->new(name => 'CurrencyCode', type => 'xsd:string', attr => {}),
697             SOAP::Data->new(name => 'SupplierCode', type => 'xsd:string', attr => {}),
698             ], # end parameters
699             }, # end SetSupplierCurrency
700             GetSupplierCurrency => {
701             endpoint => 'https://securedwebapp.com/api/service.asmx',
702             soapaction => 'KashFlow/GetSupplierCurrency',
703             namespace => 'KashFlow',
704             parameters => [
705             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
706             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
707             SOAP::Data->new(name => 'SupplierCode', type => 'xsd:string', attr => {}),
708             ], # end parameters
709             }, # end GetSupplierCurrency
710             DeleteReceipt => {
711             endpoint => 'https://securedwebapp.com/api/service.asmx',
712             soapaction => 'KashFlow/DeleteReceipt',
713             namespace => 'KashFlow',
714             parameters => [
715             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
716             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
717             SOAP::Data->new(name => 'ReceiptNumber', type => 'xsd:int', attr => {}),
718             ], # end parameters
719             }, # end DeleteReceipt
720             SetCustomerCurrency => {
721             endpoint => 'https://securedwebapp.com/api/service.asmx',
722             soapaction => 'KashFlow/SetCustomerCurrency',
723             namespace => 'KashFlow',
724             parameters => [
725             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
726             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
727             SOAP::Data->new(name => 'CurrencyCode', type => 'xsd:string', attr => {}),
728             SOAP::Data->new(name => 'CustomerCode', type => 'xsd:string', attr => {}),
729             ], # end parameters
730             }, # end SetCustomerCurrency
731             DeleteInvoiceLineWithInvoiceID => {
732             endpoint => 'https://securedwebapp.com/api/service.asmx',
733             soapaction => 'KashFlow/DeleteInvoiceLineWithInvoiceID',
734             namespace => 'KashFlow',
735             parameters => [
736             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
737             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
738             SOAP::Data->new(name => 'LineID', type => 'xsd:int', attr => {}),
739             SOAP::Data->new(name => 'InvoiceID', type => 'xsd:int', attr => {}),
740             ], # end parameters
741             }, # end DeleteInvoiceLineWithInvoiceID
742             InsertReceiptLineFromNumber => {
743             endpoint => 'https://securedwebapp.com/api/service.asmx',
744             soapaction => 'KashFlow/InsertReceiptLineFromNumber',
745             namespace => 'KashFlow',
746             parameters => [
747             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
748             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
749             SOAP::Data->new(name => 'ReceiptNumber', type => 'xsd:int', attr => {}),
750             SOAP::Data->new(name => 'InvLine', type => 'tns:InvoiceLine', attr => {}),
751             ], # end parameters
752             }, # end InsertReceiptLineFromNumber
753             UpdateInvoiceHeader => {
754             endpoint => 'https://securedwebapp.com/api/service.asmx',
755             soapaction => 'KashFlow/UpdateInvoiceHeader',
756             namespace => 'KashFlow',
757             parameters => [
758             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
759             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
760             SOAP::Data->new(name => 'Inv', type => 'tns:Invoice', attr => {}),
761             ], # end parameters
762             }, # end UpdateInvoiceHeader
763             ConvertQuoteToInvoice => {
764             endpoint => 'https://securedwebapp.com/api/service.asmx',
765             soapaction => 'KashFlow/ConvertQuoteToInvoice',
766             namespace => 'KashFlow',
767             parameters => [
768             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
769             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
770             SOAP::Data->new(name => 'QuoteID', type => 'xsd:int', attr => {}),
771             SOAP::Data->new(name => 'CustomerID', type => 'xsd:int', attr => {}),
772             SOAP::Data->new(name => 'CopyQuoteReference', type => 'xsd:int', attr => {}),
773             SOAP::Data->new(name => 'deleteQuoteAfterConversion', type => 'xsd:int', attr => {}),
774             ], # end parameters
775             }, # end ConvertQuoteToInvoice
776             createAccount => {
777             endpoint => 'https://securedwebapp.com/api/service.asmx',
778             soapaction => 'KashFlow/createAccount',
779             namespace => 'KashFlow',
780             parameters => [
781             SOAP::Data->new(name => 'AccountCreationKey', type => 'xsd:string', attr => {}),
782             SOAP::Data->new(name => 'Username', type => 'xsd:string', attr => {}),
783             SOAP::Data->new(name => 'password', type => 'xsd:string', attr => {}),
784             SOAP::Data->new(name => 'memorableword', type => 'xsd:string', attr => {}),
785             SOAP::Data->new(name => 'EmailAddress', type => 'xsd:string', attr => {}),
786             SOAP::Data->new(name => 'CompanyName', type => 'xsd:string', attr => {}),
787             SOAP::Data->new(name => 'Addr1', type => 'xsd:string', attr => {}),
788             SOAP::Data->new(name => 'Addr2', type => 'xsd:string', attr => {}),
789             SOAP::Data->new(name => 'Addr3', type => 'xsd:string', attr => {}),
790             SOAP::Data->new(name => 'Addr4', type => 'xsd:string', attr => {}),
791             SOAP::Data->new(name => 'Postcode', type => 'xsd:string', attr => {}),
792             SOAP::Data->new(name => 'ContactName', type => 'xsd:string', attr => {}),
793             SOAP::Data->new(name => 'Telephone', type => 'xsd:string', attr => {}),
794             SOAP::Data->new(name => 'VATRegistered', type => 'xsd:int', attr => {}),
795             SOAP::Data->new(name => 'VATNumber', type => 'xsd:string', attr => {}),
796             SOAP::Data->new(name => 'USSettings', type => 'xsd:int', attr => {}),
797             SOAP::Data->new(name => 'promocode', type => 'xsd:string', attr => {}),
798             ], # end parameters
799             }, # end createAccount
800             UpdateQuoteHeader => {
801             endpoint => 'https://securedwebapp.com/api/service.asmx',
802             soapaction => 'KashFlow/UpdateQuoteHeader',
803             namespace => 'KashFlow',
804             parameters => [
805             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
806             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
807             SOAP::Data->new(name => 'Quote', type => 'tns:Invoice', attr => {}),
808             ], # end parameters
809             }, # end UpdateQuoteHeader
810             AttachFileToReceipt => {
811             endpoint => 'https://securedwebapp.com/api/service.asmx',
812             soapaction => 'KashFlow/AttachFileToReceipt',
813             namespace => 'KashFlow',
814             parameters => [
815             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
816             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
817             SOAP::Data->new(name => 'ReceiptNo', type => 'xsd:int', attr => {}),
818             SOAP::Data->new(name => 'Base64String', type => 'xsd:string', attr => {}),
819             SOAP::Data->new(name => 'ContentType', type => 'xsd:string', attr => {}),
820             SOAP::Data->new(name => 'Filename', type => 'xsd:string', attr => {}),
821             SOAP::Data->new(name => 'FileExtension', type => 'xsd:string', attr => {}),
822             SOAP::Data->new(name => 'FileSize', type => 'xsd:string', attr => {}),
823             ], # end parameters
824             }, # end AttachFileToReceipt
825             UpdateJournalHeader => {
826             endpoint => 'https://securedwebapp.com/api/service.asmx',
827             soapaction => 'KashFlow/UpdateJournalHeader',
828             namespace => 'KashFlow',
829             parameters => [
830             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
831             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
832             SOAP::Data->new(name => 'Jnl', type => 'tns:JournalEntry', attr => {}),
833             ], # end parameters
834             }, # end UpdateJournalHeader
835             isStillQuote => {
836             endpoint => 'https://securedwebapp.com/api/service.asmx',
837             soapaction => 'KashFlow/isStillQuote',
838             namespace => 'KashFlow',
839             parameters => [
840             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
841             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
842             SOAP::Data->new(name => 'QuoteID', type => 'xsd:int', attr => {}),
843             ], # end parameters
844             }, # end isStillQuote
845             UpdateSupplier => {
846             endpoint => 'https://securedwebapp.com/api/service.asmx',
847             soapaction => 'KashFlow/UpdateSupplier',
848             namespace => 'KashFlow',
849             parameters => [
850             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
851             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
852             SOAP::Data->new(name => 'sup', type => 'tns:Supplier', attr => {}),
853             ], # end parameters
854             }, # end UpdateSupplier
855             DeleteReceiptByID => {
856             endpoint => 'https://securedwebapp.com/api/service.asmx',
857             soapaction => 'KashFlow/DeleteReceiptByID',
858             namespace => 'KashFlow',
859             parameters => [
860             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
861             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
862             SOAP::Data->new(name => 'ReceiptID', type => 'xsd:int', attr => {}),
863             ], # end parameters
864             }, # end DeleteReceiptByID
865             InsertQuoteLine => {
866             endpoint => 'https://securedwebapp.com/api/service.asmx',
867             soapaction => 'KashFlow/InsertQuoteLine',
868             namespace => 'KashFlow',
869             parameters => [
870             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
871             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
872             SOAP::Data->new(name => 'QuoteID', type => 'xsd:int', attr => {}),
873             SOAP::Data->new(name => 'QuoteLine', type => 'tns:InvoiceLine', attr => {}),
874             ], # end parameters
875             }, # end InsertQuoteLine
876             GetQuoteByNumber => {
877             endpoint => 'https://securedwebapp.com/api/service.asmx',
878             soapaction => 'KashFlow/GetQuoteByNumber',
879             namespace => 'KashFlow',
880             parameters => [
881             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
882             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
883             SOAP::Data->new(name => 'QuoteNumber', type => 'xsd:int', attr => {}),
884             ], # end parameters
885             }, # end GetQuoteByNumber
886             DeleteReceiptLineWithReceiptID => {
887             endpoint => 'https://securedwebapp.com/api/service.asmx',
888             soapaction => 'KashFlow/DeleteReceiptLineWithReceiptID',
889             namespace => 'KashFlow',
890             parameters => [
891             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
892             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
893             SOAP::Data->new(name => 'LineID', type => 'xsd:int', attr => {}),
894             SOAP::Data->new(name => 'ReceiptID', type => 'xsd:int', attr => {}),
895             ], # end parameters
896             }, # end DeleteReceiptLineWithReceiptID
897             DeleteJournalByID => {
898             endpoint => 'https://securedwebapp.com/api/service.asmx',
899             soapaction => 'KashFlow/DeleteJournalByID',
900             namespace => 'KashFlow',
901             parameters => [
902             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
903             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
904             SOAP::Data->new(name => 'JournalID', type => 'xsd:int', attr => {}),
905             ], # end parameters
906             }, # end DeleteJournalByID
907             InsertInvoice => {
908             endpoint => 'https://securedwebapp.com/api/service.asmx',
909             soapaction => 'KashFlow/InsertInvoice',
910             namespace => 'KashFlow',
911             parameters => [
912             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
913             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
914             SOAP::Data->new(name => 'Inv', type => 'tns:Invoice', attr => {}),
915             ], # end parameters
916             }, # end InsertInvoice
917             GetInvoice => {
918             endpoint => 'https://securedwebapp.com/api/service.asmx',
919             soapaction => 'KashFlow/GetInvoice',
920             namespace => 'KashFlow',
921             parameters => [
922             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
923             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
924             SOAP::Data->new(name => 'InvoiceNumber', type => 'xsd:int', attr => {}),
925             ], # end parameters
926             }, # end GetInvoice
927             GetCustomers => {
928             endpoint => 'https://securedwebapp.com/api/service.asmx',
929             soapaction => 'KashFlow/GetCustomers',
930             namespace => 'KashFlow',
931             parameters => [
932             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
933             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
934             ], # end parameters
935             }, # end GetCustomers
936             GetCustomersModifiedSince => {
937             endpoint => 'https://securedwebapp.com/api/service.asmx',
938             soapaction => 'KashFlow/GetCustomersModifiedSince',
939             namespace => 'KashFlow',
940             parameters => [
941             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
942             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
943             SOAP::Data->new(name => 'ModifiedSince', type => 'xsd:dateTime', attr => {}),
944             ], # end parameters
945             }, # end GetCustomersModifiedSince
946             UpdateReceiptHeader => {
947             endpoint => 'https://securedwebapp.com/api/service.asmx',
948             soapaction => 'KashFlow/UpdateReceiptHeader',
949             namespace => 'KashFlow',
950             parameters => [
951             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
952             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
953             SOAP::Data->new(name => 'Receipt', type => 'tns:Invoice', attr => {}),
954             ], # end parameters
955             }, # end UpdateReceiptHeader
956             DeleteQuoteLineWithQuoteID => {
957             endpoint => 'https://securedwebapp.com/api/service.asmx',
958             soapaction => 'KashFlow/DeleteQuoteLineWithQuoteID',
959             namespace => 'KashFlow',
960             parameters => [
961             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
962             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
963             SOAP::Data->new(name => 'LineID', type => 'xsd:int', attr => {}),
964             SOAP::Data->new(name => 'QuoteID', type => 'xsd:int', attr => {}),
965             ], # end parameters
966             }, # end DeleteQuoteLineWithQuoteID
967             InsertInvoiceLine => {
968             endpoint => 'https://securedwebapp.com/api/service.asmx',
969             soapaction => 'KashFlow/InsertInvoiceLine',
970             namespace => 'KashFlow',
971             parameters => [
972             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
973             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
974             SOAP::Data->new(name => 'InvoiceID', type => 'xsd:int', attr => {}),
975             SOAP::Data->new(name => 'InvLine', type => 'tns:InvoiceLine', attr => {}),
976             ], # end parameters
977             }, # end InsertInvoiceLine
978             InsertReceiptPayment => {
979             endpoint => 'https://securedwebapp.com/api/service.asmx',
980             soapaction => 'KashFlow/InsertReceiptPayment',
981             namespace => 'KashFlow',
982             parameters => [
983             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
984             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
985             SOAP::Data->new(name => 'ReceiptPayment', type => 'tns:Payment', attr => {}),
986             ], # end parameters
987             }, # end InsertReceiptPayment
988             UpdateQuote => {
989             endpoint => 'https://securedwebapp.com/api/service.asmx',
990             soapaction => 'KashFlow/UpdateQuote',
991             namespace => 'KashFlow',
992             parameters => [
993             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
994             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
995             SOAP::Data->new(name => 'Quote', type => 'tns:Invoice', attr => {}),
996             ], # end parameters
997             }, # end UpdateQuote
998             DeleteReceiptPayment => {
999             endpoint => 'https://securedwebapp.com/api/service.asmx',
1000             soapaction => 'KashFlow/DeleteReceiptPayment',
1001             namespace => 'KashFlow',
1002             parameters => [
1003             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
1004             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
1005             SOAP::Data->new(name => 'ReceiptPaymentNumber', type => 'xsd:int', attr => {}),
1006             ], # end parameters
1007             }, # end DeleteReceiptPayment
1008             GetSupplier => {
1009             endpoint => 'https://securedwebapp.com/api/service.asmx',
1010             soapaction => 'KashFlow/GetSupplier',
1011             namespace => 'KashFlow',
1012             parameters => [
1013             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
1014             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
1015             SOAP::Data->new(name => 'SupplierCode', type => 'xsd:string', attr => {}),
1016             ], # end parameters
1017             }, # end GetSupplier
1018             GetSupplierVATNumber => {
1019             endpoint => 'https://securedwebapp.com/api/service.asmx',
1020             soapaction => 'KashFlow/GetSupplierVATNumber',
1021             namespace => 'KashFlow',
1022             parameters => [
1023             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
1024             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
1025             SOAP::Data->new(name => 'SupplierCode', type => 'xsd:string', attr => {}),
1026             ], # end parameters
1027             }, # end GetSupplierVATNumber
1028             GetCustomer => {
1029             endpoint => 'https://securedwebapp.com/api/service.asmx',
1030             soapaction => 'KashFlow/GetCustomer',
1031             namespace => 'KashFlow',
1032             parameters => [
1033             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
1034             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
1035             SOAP::Data->new(name => 'CustomerCode', type => 'xsd:string', attr => {}),
1036             ], # end parameters
1037             }, # end GetCustomer
1038             GetAccountOverview => {
1039             endpoint => 'https://securedwebapp.com/api/service.asmx',
1040             soapaction => 'KashFlow/GetAccountOverview',
1041             namespace => 'KashFlow',
1042             parameters => [
1043             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
1044             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
1045             ], # end parameters
1046             }, # end GetAccountOverview
1047             GetBankTransactions => {
1048             endpoint => 'https://securedwebapp.com/api/service.asmx',
1049             soapaction => 'KashFlow/GetBankTransactions',
1050             namespace => 'KashFlow',
1051             parameters => [
1052             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
1053             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
1054             SOAP::Data->new(name => 'AccountID', type => 'xsd:int', attr => {}),
1055             ], # end parameters
1056             }, # end GetBankTransactions
1057             isUserVATRegistered => {
1058             endpoint => 'https://securedwebapp.com/api/service.asmx',
1059             soapaction => 'KashFlow/isUserVATRegistered',
1060             namespace => 'KashFlow',
1061             parameters => [
1062             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
1063             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
1064             ], # end parameters
1065             }, # end isUserVATRegistered
1066             UpdateBankTransaction => {
1067             endpoint => 'https://securedwebapp.com/api/service.asmx',
1068             soapaction => 'KashFlow/UpdateBankTransaction',
1069             namespace => 'KashFlow',
1070             parameters => [
1071             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
1072             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
1073             SOAP::Data->new(name => 'bp', type => 'tns:BankTransaction', attr => {}),
1074             SOAP::Data->new(name => 'TransactionID', type => 'xsd:int', attr => {}),
1075             ], # end parameters
1076             }, # end UpdateBankTransaction
1077             GetInvoicesByDateRange => {
1078             endpoint => 'https://securedwebapp.com/api/service.asmx',
1079             soapaction => 'KashFlow/GetInvoicesByDateRange',
1080             namespace => 'KashFlow',
1081             parameters => [
1082             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
1083             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
1084             SOAP::Data->new(name => 'StartDate', type => 'xsd:dateTime', attr => {}),
1085             SOAP::Data->new(name => 'EndDate', type => 'xsd:dateTime', attr => {}),
1086             ], # end parameters
1087             }, # end GetInvoicesByDateRange
1088             GetBalanceSheet => {
1089             endpoint => 'https://securedwebapp.com/api/service.asmx',
1090             soapaction => 'KashFlow/GetBalanceSheet',
1091             namespace => 'KashFlow',
1092             parameters => [
1093             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
1094             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
1095             SOAP::Data->new(name => 'Date', type => 'xsd:dateTime', attr => {}),
1096             ], # end parameters
1097             }, # end GetBalanceSheet
1098             CreateBankAccount => {
1099             endpoint => 'https://securedwebapp.com/api/service.asmx',
1100             soapaction => 'KashFlow/CreateBankAccount',
1101             namespace => 'KashFlow',
1102             parameters => [
1103             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
1104             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
1105             SOAP::Data->new(name => 'AccountName', type => 'xsd:string', attr => {}),
1106             SOAP::Data->new(name => 'NominalCode', type => 'xsd:int', attr => {}),
1107             ], # end parameters
1108             }, # end CreateBankAccount
1109             InsertBankTransaction => {
1110             endpoint => 'https://securedwebapp.com/api/service.asmx',
1111             soapaction => 'KashFlow/InsertBankTransaction',
1112             namespace => 'KashFlow',
1113             parameters => [
1114             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
1115             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
1116             SOAP::Data->new(name => 'bp', type => 'tns:BankTransaction', attr => {}),
1117             ], # end parameters
1118             }, # end InsertBankTransaction
1119             InsertCustomer => {
1120             endpoint => 'https://securedwebapp.com/api/service.asmx',
1121             soapaction => 'KashFlow/InsertCustomer',
1122             namespace => 'KashFlow',
1123             parameters => [
1124             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
1125             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
1126             SOAP::Data->new(name => 'custr')#, type => 'tns:Customer', attr => {}),
1127             ], # end parameters
1128             }, # end InsertCustomer
1129             GetReceipts => {
1130             endpoint => 'https://securedwebapp.com/api/service.asmx',
1131             soapaction => 'KashFlow/GetReceipts',
1132             namespace => 'KashFlow',
1133             parameters => [
1134             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
1135             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
1136             ], # end parameters
1137             }, # end GetReceipts
1138             GetProducts => {
1139             endpoint => 'https://securedwebapp.com/api/service.asmx',
1140             soapaction => 'KashFlow/GetProducts',
1141             namespace => 'KashFlow',
1142             parameters => [
1143             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
1144             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
1145             ], # end parameters
1146             }, # end GetProducts
1147             GetCurrencies => {
1148             endpoint => 'https://securedwebapp.com/api/service.asmx',
1149             soapaction => 'KashFlow/GetCurrencies',
1150             namespace => 'KashFlow',
1151             parameters => [
1152             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
1153             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
1154             ], # end parameters
1155             }, # end GetCurrencies
1156             UpdateCustomer => {
1157             endpoint => 'https://securedwebapp.com/api/service.asmx',
1158             soapaction => 'KashFlow/UpdateCustomer',
1159             namespace => 'KashFlow',
1160             parameters => [
1161             SOAP::Data->new(name => 'UserName', type => 'xsd:string', attr => {}),
1162             SOAP::Data->new(name => 'Password', type => 'xsd:string', attr => {}),
1163             SOAP::Data->new(name => 'custr', type => 'tns:Customer', attr => {}),
1164             ], # end parameters
1165             }, # end UpdateCustomer
1166             ); # end my %methods
1167              
1168 1     1   913 use SOAP::Lite;
  0            
  0            
1169             use Exporter;
1170             use Carp ();
1171              
1172             use vars qw(@ISA $AUTOLOAD @EXPORT_OK %EXPORT_TAGS);
1173             @ISA = qw(Exporter SOAP::Lite);
1174             @EXPORT_OK = (keys %methods);
1175             %EXPORT_TAGS = ('all' => [@EXPORT_OK]);
1176              
1177             sub _call {
1178             my ($self, $method) = (shift, shift);
1179             my $name = UNIVERSAL::isa($method => 'SOAP::Data') ? $method->name : $method;
1180             my %method = %{$methods{$name}};
1181             $self->proxy($method{endpoint} || Carp::croak "No server address (proxy) specified")
1182             unless $self->proxy;
1183             my @templates = @{$method{parameters}};
1184             my @parameters = ();
1185             foreach my $param (@_) {
1186             if (@templates) {
1187             my $template = shift @templates;
1188             my ($prefix,$typename) = SOAP::Utils::splitqname($template->type);
1189             my $method = 'as_'.$typename;
1190             # TODO - if can('as_'.$typename) {...}
1191             #my $result = $self->serializer->$method($param, $template->name, $template->type, $template->attr);
1192             #push(@parameters, $template->value($result->[2]));
1193             push @parameters, $template->value($param);
1194             # XXX Don't use serialiser
1195             }
1196             else {
1197             push(@parameters, $param);
1198             }
1199             }
1200             #$self->endpoint($method{endpoint})
1201             #->ns($method{namespace})
1202             # ->on_action(sub{qq!"$method{soapaction}"!});
1203             $self->uri('KashFlow')
1204             ->proxy('https://securedwebapp.com/api/service.asmx');
1205             $self->soapversion("1.1"); # XXX
1206             $self->on_action(sub { sprintf '%s/%s', @_ });
1207              
1208             =for later
1209              
1210             $self->serializer->register_ns("http://microsoft.com/wsdl/mime/textMatching/","tm");
1211             $self->serializer->register_ns("http://schemas.xmlsoap.org/wsdl/soap12/","soap12");
1212             $self->serializer->register_ns("http://schemas.xmlsoap.org/wsdl/mime/","mime");
1213             $self->serializer->register_ns("http://www.w3.org/2001/XMLSchema","s");
1214             $self->serializer->register_ns("http://schemas.xmlsoap.org/wsdl/soap/","soap");
1215             $self->serializer->register_ns("http://schemas.xmlsoap.org/wsdl/","wsdl");
1216             $self->serializer->register_ns("http://schemas.xmlsoap.org/soap/encoding/","soapenc");
1217             $self->serializer->register_ns("http://schemas.xmlsoap.org/wsdl/http/","http");
1218              
1219             =cut
1220              
1221             $self->serializer->register_ns("KashFlow","tns");
1222             $self->serializer->register_ns("KashFlow/AbstractTypes","s1");
1223              
1224             my $som = $self->SUPER::call($method => @parameters);
1225             if ($self->want_som) {
1226             return $som;
1227             }
1228             UNIVERSAL::isa($som => 'SOAP::SOM') ? wantarray ? $som->paramsall : $som->result : $som;
1229             }
1230              
1231             sub BEGIN {
1232             no strict 'refs';
1233             for my $method (qw(want_som)) {
1234             my $field = '_' . $method;
1235             *$method = sub {
1236             my $self = shift->new;
1237             @_ ? ($self->{$field} = shift, return $self) : return $self->{$field};
1238             }
1239             }
1240             }
1241             no strict 'refs';
1242             for my $method (@EXPORT_OK) {
1243             my %method = %{$methods{$method}};
1244             *$method = sub {
1245             my $self = UNIVERSAL::isa($_[0] => __PACKAGE__)
1246             ? ref $_[0]
1247             ? shift # OBJECT
1248             # CLASS, either get self or create new and assign to self
1249             : (shift->self || __PACKAGE__->self(__PACKAGE__->new))
1250             # function call, either get self or create new and assign to self
1251             : (__PACKAGE__->self || __PACKAGE__->self(__PACKAGE__->new));
1252             $self->_call($method, @_);
1253             }
1254             }
1255              
1256             sub AUTOLOAD {
1257             my $method = substr($AUTOLOAD, rindex($AUTOLOAD, '::') + 2);
1258             return if $method eq 'DESTROY' || $method eq 'want_som';
1259             die "Unrecognized method '$method'. List of available method(s): @EXPORT_OK\n";
1260             }
1261              
1262             sub SOAP::Serializer::as_InvoiceLineSet {
1263             my $self = shift;
1264             my($value, $name, $type, $attr) = @_;
1265             return [ "Lines", {},
1266             [ map {$self->encode_object($_)} @{$value->{anyType}} ]
1267             ];
1268             }
1269              
1270              
1271             sub SOAP::Serializer::as_InvoiceLine {
1272             my $self = shift;
1273             my($value, $name, $type, $attr) = @_;
1274             return ["anyType", {'xsi:type' => 'InvoiceLine', %$attr},
1275             [map {$self->encode_object($value->{$_}, $_)} keys %$value]
1276             ]
1277             }
1278              
1279             1;