-
Notifications
You must be signed in to change notification settings - Fork 2
/
demo.go
505 lines (503 loc) · 45.5 KB
/
demo.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
package nervatura
import (
"time"
)
func demoData() IM {
return IM{
"groups": []IM{
{"groupname": "department", "groupvalue": "sales", "description": "Sample sales department"},
{"groupname": "department", "groupvalue": "logistics", "description": "Sample logistics department"},
{"groupname": "department", "groupvalue": "production", "description": "Sample production department"},
{"groupname": "eventgroup", "groupvalue": "visit"},
{"groupname": "eventgroup", "groupvalue": "pricing"},
{"groupname": "eventgroup", "groupvalue": "car"}},
"customer": IM{
"deffield": []IM{
{"fieldname": "sample_customer_float", "description": "Sample float", "visible": 1,
"keys": IM{"nervatype": "customer", "fieldtype": "float"}},
{"fieldname": "sample_customer_date", "description": "Sample date", "visible": 1,
"keys": IM{"nervatype": "customer", "fieldtype": "date"}},
{"fieldname": "sample_customer_valuelist", "description": "Sample valuelist", "valuelist": "blue|yellow|white|brown|red", "visible": 1,
"keys": IM{"nervatype": "customer", "fieldtype": "valuelist"}},
{"fieldname": "sample_customer_reference", "description": "Sample customer", "visible": 1,
"keys": IM{"nervatype": "customer", "fieldtype": "customer"}},
{"fieldname": "company_page", "description": "Company page", "visible": 1,
"keys": IM{"nervatype": "event", "fieldtype": "urlink"}}},
"customer": []IM{
{"custnumber": "DMCUST/00001", "custname": "First Customer Co.", "taxnumber": "12345678-1-12", "terms": 8,
"creditlimit": float64(1000000), "discount": float64(2), "sample_customer_float": 123.4, "sample_customer_date": time.Now().AddDate(0, 0, 0).Format("2006") + "-08-12",
"keys": IM{"custtype": "company"}},
{"custnumber": "DMCUST/00002", "custname": "Second Customer Name", "taxnumber": "12121212-1-12", "terms": 1,
"creditlimit": float64(0), "discount": float64(6), "sample_customer_float": 56789.67, "sample_customer_date": time.Now().AddDate(0, 0, 0).Format("2006") + "-09-01",
"sample_customer_valuelist": "yellow",
"sample_customer_reference": "DMCUST/00001",
"keys": IM{"custtype": "private"}},
{"custnumber": "DMCUST/00003", "custname": "Third Customer Foundation", "taxnumber": "10101010-1-01",
"notax": 1, "terms": 4, "creditlimit": float64(0), "sample_customer_valuelist": "brown",
"keys": IM{"custtype": "other"}}},
"address": []IM{
{"country": "Country1", "state": "state01",
"zipcode": "1234", "city": "City1", "street": "street 1.", "notes": "address of registered office",
"keys": IM{"nervatype": "customer", "ref_id": "customer/DMCUST/00001"}},
{"country": "Country1", "state": "state02",
"zipcode": "2345", "city": "City2", "street": "street 2.", "notes": "postal address",
"keys": IM{"nervatype": "customer", "ref_id": "customer/DMCUST/00001"}},
{"country": "Country1", "state": "state03",
"zipcode": "6789", "city": "City3", "street": "street 3.",
"keys": IM{"nervatype": "customer", "ref_id": "customer/DMCUST/00002"}},
{"country": "Country2", "state": "state04",
"zipcode": "6543", "city": "City4", "street": "street 4.",
"keys": IM{"nervatype": "customer", "ref_id": "customer/DMCUST/00003"}}},
"contact": []IM{
{"firstname": "Big", "surname": "Man",
"status": "manager", "email": "man.big@company.co",
"keys": IM{"nervatype": "customer", "ref_id": "customer/DMCUST/00001"}},
{"firstname": "Sales", "surname": "Man",
"status": "sales", "email": "man.sales@company.co",
"keys": IM{"nervatype": "customer", "ref_id": "customer/DMCUST/00001"}},
{"firstname": "Jack", "surname": "Frost",
"keys": IM{"nervatype": "customer", "ref_id": "customer/DMCUST/00002"}},
{"firstname": "Harry", "surname": "Potter",
"keys": IM{"nervatype": "customer", "ref_id": "customer/DMCUST/00003"}}},
"event": []IM{
{"calnumber": "DMEVT/00001", "fromdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-04-05T08:00:00", "todate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-04-05T10:00:00", "subject": "First visit",
"place": "City1", "description": "It was long ... :-(", "company_page": "http://nervatura.com/",
"keys": IM{"nervatype": "customer", "ref_id": "customer/DMCUST/00001", "eventgroup": "visit"}},
{"calnumber": "DMEVT/00002", "fromdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-04-06T08:00:00", "todate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-04-06T10:00:00", "subject": "Second visit", "place": "City1",
"keys": IM{"nervatype": "customer", "ref_id": "customer/DMCUST/00001", "eventgroup": "visit"}},
{"calnumber": "DMEVT/00003", "fromdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-04-07T08:00:00", "todate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-04-07T10:00:00", "subject": "Training",
"keys": IM{"nervatype": "customer", "ref_id": "customer/DMCUST/00002"}},
{"calnumber": "DMEVT/00004", "fromdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-04-08T08:00:00", "subject": "Training",
"keys": IM{"nervatype": "customer", "ref_id": "customer/DMCUST/00003"}}}},
"employee": IM{
"deffield": []IM{
{"fieldname": "sample_employee_integer", "description": "Shoe size", "visible": 1,
"keys": IM{"nervatype": "employee", "fieldtype": "integer"}}},
"employee": []IM{
{"empnumber": "user", "username": "user", "keys": IM{"usergroup": "user"}},
{"empnumber": "guest", "username": "guest", "keys": IM{"usergroup": "guest"}},
{"empnumber": "demo", "username": "demo", "keys": IM{"usergroup": "demo"}},
{"empnumber": "DMEMP/00001", "startdate": time.Now().AddDate(-2, 0, 0).Format("2006") + "-12-01", "sample_employee_integer": 42,
"keys": IM{"usergroup": "guest", "department": "production"}}},
"address": []IM{
{"keys": IM{"nervatype": "employee", "ref_id": "employee/user"}},
{"keys": IM{"nervatype": "employee", "ref_id": "employee/guest"}},
{"keys": IM{"nervatype": "employee", "ref_id": "employee/demo"}},
{"country": "Country1", "zipcode": "1234", "city": "City1", "street": "Address 3. AB. 5..",
"keys": IM{"nervatype": "employee", "ref_id": "employee/DMEMP/00001"}}},
"contact": []IM{
{"keys": IM{"nervatype": "employee", "ref_id": "employee/user"}},
{"keys": IM{"nervatype": "employee", "ref_id": "employee/guest"}},
{"keys": IM{"nervatype": "employee", "ref_id": "employee/demo"}},
{"firstname": "John", "surname": "Strong", "status": "heaver", "notes": "He's a good man ...",
"keys": IM{"nervatype": "employee", "ref_id": "employee/DMEMP/00001"}}},
"event": []IM{
{"calnumber": "DMEVT/00005", "fromdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-15T00:00:00",
"todate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-31T00:00:00",
"subject": "Holiday", "place": "On the beach",
"keys": IM{"nervatype": "employee", "ref_id": "employee/DMEMP/00001"}}}},
"product": IM{
"deffield": []IM{
{"fieldname": "sample_product_reference", "description": "Sample product", "visible": 1,
"keys": IM{"nervatype": "product", "fieldtype": "product"}},
{"fieldname": "sample_product_integer", "description": "Sample integer", "visible": 1,
"keys": IM{"nervatype": "product", "fieldtype": "integer"}},
{"fieldname": "sample_product_valuelist", "description": "Sample valuelist",
"valuelist": "easy|heavy", "visible": 1,
"keys": IM{"nervatype": "product", "fieldtype": "valuelist"}}},
"product": []IM{
{"partnumber": "DMPROD/00001", "description": "Big product", "unit": "piece", "webitem": 1,
"inactive": 0, "sample_product_valuelist": "easy",
"keys": IM{"protype": "item", "tax_id": "20%"}},
{"partnumber": "DMPROD/00002", "description": "Good work", "unit": "hour", "webitem": 0,
"inactive": 0, "sample_product_reference": "DMPROD/00001", "sample_product_integer": 100000,
"keys": IM{"protype": "service", "tax_id": "20%"}},
{"partnumber": "DMPROD/00003", "description": "Nice product", "unit": "piece", "webitem": 1,
"inactive": 0, "sample_product_valuelist": "heavy",
"keys": IM{"protype": "item", "tax_id": "20%"}},
{"partnumber": "DMPROD/00004", "description": "Car", "unit": "piece", "webitem": 1,
"inactive": 0, "notes": "Manufacturing products",
"keys": IM{"protype": "item", "tax_id": "20%"}},
{"partnumber": "DMPROD/00005", "description": "Wheel", "unit": "piece", "webitem": 1,
"inactive": 0, "notes": "Raw material, component",
"keys": IM{"protype": "item", "tax_id": "20%"}},
{"partnumber": "DMPROD/00006", "description": "Door", "unit": "piece", "webitem": 1,
"inactive": 0, "notes": "Raw material, component",
"keys": IM{"protype": "item", "tax_id": "20%"}},
{"partnumber": "DMPROD/00007", "description": "Paint", "unit": "liter", "webitem": 1,
"inactive": 0, "notes": "Raw material, component",
"keys": IM{"protype": "item", "tax_id": "20%"}},
{"partnumber": "DMPROD/00008", "description": "Pallet", "unit": "piece", "webitem": 1,
"inactive": 0, "notes": "Raw material, component (not share sample)",
"keys": IM{"protype": "item", "tax_id": "20%"}},
{"partnumber": "DMPROD/00009", "description": "Basket", "unit": "piece",
"inactive": 0, "notes": "Souvenir component",
"keys": IM{"protype": "item", "tax_id": "20%"}},
{"partnumber": "DMPROD/00010", "description": "Wine", "unit": "piece",
"inactive": 0, "notes": "Souvenir component",
"keys": IM{"protype": "item", "tax_id": "5%"}},
{"partnumber": "DMPROD/00011", "description": "Chocolate", "unit": "piece",
"inactive": 0, "notes": "Souvenir component",
"keys": IM{"protype": "item", "tax_id": "20%"}},
{"partnumber": "DMPROD/00012", "description": "Souvenir - virtual product", "unit": "piece",
"inactive": 0, "notes": "A technical package, which might include several real products or services",
"product_element~1": "DMPROD/00009~1", "product_element~2": "DMPROD/00010~1", "product_element~3": "DMPROD/00011~2",
"product_element~4": "DMPROD/00002~1", "keys": IM{"protype": "item", "tax_id": "15%"}},
{"partnumber": "DMPROD/00013", "description": "Phone", "unit": "piece", "inactive": 0, "notes": "for tool movement...",
"keys": IM{"protype": "item", "tax_id": "20%"}}},
"barcode": []IM{
{"code": "BC0123456789", "description": "Barcode1", "defcode": 1,
"keys": IM{"product_id": "DMPROD/00001", "barcodetype": "CODE_39"}},
{"code": "BC1212121212", "description": "Barcode2", "qty": float64(5),
"keys": IM{"product_id": "DMPROD/00001", "barcodetype": "CODE_39"}},
{"code": "BC0101010101", "description": "Barcode3", "defcode": 1,
"keys": IM{"product_id": "DMPROD/00003", "barcodetype": "CODE_39"}}},
"event": []IM{
{"calnumber": "DMEVT/00006",
"fromdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-04-05T08:00:00",
"todate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-04-05T15:00:00",
"subject": "New prices", "place": "Office",
"keys": IM{"nervatype": "product", "ref_id": "product/DMPROD/00001", "eventgroup": "pricing"}},
{"calnumber": "DMEVT/00007", "fromdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-04-08T08:00:00",
"todate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-04-12T18:00:00", "subject": "business trip", "place": "Hawaii",
"keys": IM{"nervatype": "product", "ref_id": "product/DMPROD/00002"}},
{"calnumber": "DMEVT/00008", "fromdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-04-12T08:00:00",
"subject": "Inventory", "description": "Inventory check in the warehouse",
"keys": IM{"nervatype": "product", "ref_id": "product/DMPROD/00002"}}},
"price": []IM{
{"validfrom": time.Now().AddDate(-1, 0, 0).Format("2006") + "-04-05", "curr": "EUR", "qty": float64(0), "pricevalue": float64(25),
"keys": IM{"product_id": "DMPROD/00001"}},
{"validfrom": time.Now().AddDate(-1, 0, 0).Format("2006") + "-04-05", "curr": "EUR", "qty": float64(10), "pricevalue": float64(20),
"keys": IM{"product_id": "DMPROD/00001"}}}},
"project": IM{
"deffield": []IM{
{"fieldname": "sample_project_state", "description": "Status",
"valuelist": "10%|20%|30%|40%|50%|60%|70%|80%|90%|100%", "visible": 1,
"keys": IM{"nervatype": "project", "fieldtype": "valuelist"}},
{"fieldname": "sample_project_leader", "description": "Coordinator", "visible": 1,
"keys": IM{"nervatype": "project", "fieldtype": "employee"}}},
"project": []IM{
{"pronumber": "DMPRJ/00001", "description": "Sample project", "startdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-01",
"sample_project_state": "20%", "sample_project_leader": "DMEMP/00001",
"keys": IM{"customer_id": "DMCUST/00001"}}},
"address": []IM{
{"country": "Country1", "zipcode": "1234", "city": "City1", "street": "Address 3. AB. 5..",
"keys": IM{"nervatype": "project", "ref_id": "project/DMPRJ/00001"}}},
"contact": []IM{
{"firstname": "Big", "surname": "Man",
"keys": IM{"nervatype": "project", "ref_id": "project/DMPRJ/00001"}}},
"event": []IM{
{"calnumber": "DMEVT/00009",
"fromdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-10T09:00:00",
"todate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-10T11:00:00",
"subject": "Project meeting", "place": "Office",
"keys": IM{"nervatype": "project", "ref_id": "project/DMPRJ/00001"}}}},
"tool": IM{
"deffield": []IM{
{"fieldname": "sample_tool_vin", "description": "Vehicle id.No.", "visible": 1,
"keys": IM{"nervatype": "tool", "fieldtype": "string"}},
{"fieldname": "sample_tool_color", "description": "Car colors",
"valuelist": "blue|yellow|white|brown|red", "visible": 1,
"keys": IM{"nervatype": "tool", "fieldtype": "valuelist"}}},
"tool": []IM{
{"serial": "ABC-123", "description": "Company car 1.",
"sample_tool_vin": "VIN12345678", "sample_tool_color": "red",
"keys": IM{"product_id": "DMPROD/00004"}},
{"serial": "DEF-456", "description": "Company car 2.",
"sample_tool_vin": "VIN87654321", "sample_tool_color": "blue",
"keys": IM{"product_id": "DMPROD/00004"}},
{"serial": "IMEI-023456789", "description": "NOKIA E5",
"keys": IM{"product_id": "DMPROD/00013"}}},
"event": []IM{
{"calnumber": "DMEVT/00010", "fromdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-04-05T08:00:00",
"todate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-04-05T15:00:00",
"subject": "Technical inspection", "place": "Service",
"keys": IM{"nervatype": "tool", "ref_id": "tool/ABC-123", "eventgroup": "car"}}}},
"place": []IM{
{"planumber": "material", "description": "Raw material",
"keys": IM{"placetype": "warehouse"}}},
"trans_item": IM{
"trans": []IM{
{"transnumber": "DMORD/00001", "transdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-01",
"duedate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-10T00:00:00", "curr": "EUR",
"notes": "We bought some basic materials for production and sale. It was invoiced on the basis of delivery, but not all were delivered yet.",
"keys": IM{"transtype": "order", "direction": "in", "customer_id": "DMCUST/00003", "paidtype": "transfer", "department": "logistics", "transtate": "ok"}},
{"transnumber": "DMORD/00002", "transdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-04",
"duedate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-10T00:00:00", "curr": "EUR",
"notes": "Virtual product sample.",
"keys": IM{"transtype": "order", "direction": "out", "customer_id": "DMCUST/00002", "paidtype": "transfer", "department": "sales", "transtate": "ok"}},
{"transnumber": "DMORD/00003", "transdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-10",
"duedate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-20T00:00:00", "curr": "EUR",
"notes": "DEMO invoice order.",
"keys": IM{"transtype": "order", "direction": "out", "customer_id": "DMCUST/00001", "paidtype": "transfer", "department": "sales", "transtate": "ok"}},
{"transnumber": "DMOFF/00001", "transdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-05",
"duedate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-30T00:00:00", "curr": "EUR",
"ref_transnumber": "DMORD/00003", "notes": "DEMO invoice offer",
"keys": IM{"transtype": "offer", "direction": "out", "customer_id": "DMCUST/00001", "paidtype": "transfer", "department": "sales", "transtate": "ok"}},
{"transnumber": "DMINV/00001", "transdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-10",
"duedate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-20T00:00:00", "curr": "EUR",
"ref_transnumber": "DMORD/00003",
"fnote": "A long and <b><i>rich text</b></i> at the bottom of the invoice...<br><br>Can be multiple lines ...",
"keys": IM{"transtype": "invoice", "direction": "out", "customer_id": "DMCUST/00001", "paidtype": "transfer", "department": "sales", "transtate": "ok"}},
{"transnumber": "DMINV/00002", "transdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-10",
"duedate": time.Now().AddDate(0, 0, 0).Format("2006") + "-01-10T00:00:00", "curr": "EUR",
"ref_transnumber": "DMORD/00002", "notes": "Virtual product sample.",
"keys": IM{"transtype": "invoice", "direction": "out", "customer_id": "DMCUST/00002", "paidtype": "transfer", "department": "sales", "transtate": "ok"}},
{"transnumber": "DMINV/00003", "transdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-10",
"duedate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-20T00:00:00", "curr": "EUR",
"ref_transnumber": "DMORD/00001",
"notes": "We bought some basic materials for production and sale. It was invoiced on the basis of delivery, but not all were delivered yet.",
"keys": IM{"transtype": "invoice", "direction": "in", "customer_id": "DMCUST/00003", "paidtype": "transfer", "department": "logistics", "transtate": "ok"}},
{"transnumber": "DMWORK/00001", "transdate": time.Now().AddDate(0, 0, 0).Format("2006") + "-01-05",
"duedate": time.Now().AddDate(0, 0, 0).Format("2006") + "-01-05T00:00:00", "curr": "EUR",
"trans_wsdistance": 200, "trans_wstotal": 3,
"keys": IM{"transtype": "worksheet", "direction": "out", "customer_id": "DMCUST/00001", "employee_id": "DMEMP/00001", "paidtype": "transfer", "department": "sales", "transtate": "ok"}},
{"transnumber": "DMRNT/00001", "transdate": time.Now().AddDate(0, 0, 0).Format("2006") + "-01-01",
"duedate": time.Now().AddDate(0, 0, 0).Format("2006") + "-01-11T00:00:00", "curr": "EUR", "trans_reholiday": 3,
"keys": IM{"transtype": "rent", "direction": "out", "customer_id": "DMCUST/00001", "paidtype": "transfer", "department": "logistics", "transtate": "ok"}}},
"item": []IM{
{"unit": "piece", "qty": float64(40), "fxprice": float64(10), "netamount": float64(400), "vatamount": float64(80), "amount": float64(480), "description": "Wheel",
"keys": IM{"trans_id": "DMORD/00001", "product_id": "DMPROD/00005", "tax_id": "20%"}},
{"unit": "piece", "qty": float64(60), "fxprice": float64(12), "netamount": float64(720), "vatamount": float64(144), "amount": float64(864), "description": "Door",
"keys": IM{"trans_id": "DMORD/00001", "product_id": "DMPROD/00006", "tax_id": "20%"}},
{"unit": "liter", "qty": float64(50), "fxprice": float64(16), "netamount": float64(800), "vatamount": float64(160), "amount": float64(960), "description": "Paint",
"keys": IM{"trans_id": "DMORD/00001", "product_id": "DMPROD/00007", "tax_id": "20%"}},
{"unit": "piece", "qty": float64(20), "fxprice": float64(5), "netamount": float64(100), "vatamount": float64(20), "amount": float64(120), "description": "Pallet",
"keys": IM{"trans_id": "DMORD/00001", "product_id": "DMPROD/00008", "tax_id": "20%"}},
{"unit": "piece", "qty": float64(10), "fxprice": float64(120), "netamount": float64(1200), "vatamount": float64(240), "amount": float64(1440), "description": "Big product",
"keys": IM{"trans_id": "DMORD/00001", "product_id": "DMPROD/00001", "tax_id": "20%"}},
{"unit": "piece", "qty": float64(10), "fxprice": float64(15), "netamount": float64(150), "vatamount": float64(30), "amount": float64(180), "description": "Nice product",
"keys": IM{"trans_id": "DMORD/00001", "product_id": "DMPROD/00003", "tax_id": "20%"}},
{"unit": "piece", "qty": float64(20), "fxprice": float64(8), "netamount": float64(160), "vatamount": float64(32), "amount": float64(192), "description": "Basket",
"keys": IM{"trans_id": "DMORD/00001", "product_id": "DMPROD/00009", "tax_id": "20%"}},
{"unit": "piece", "qty": float64(20), "fxprice": float64(20), "netamount": float64(400), "vatamount": float64(20), "amount": float64(420), "description": "Wine",
"keys": IM{"trans_id": "DMORD/00001", "product_id": "DMPROD/00010", "tax_id": "5%"}},
{"unit": "piece", "qty": float64(20), "fxprice": float64(16), "netamount": float64(320), "vatamount": float64(64), "amount": float64(384), "description": "Chocolate",
"keys": IM{"trans_id": "DMORD/00001", "product_id": "DMPROD/00011", "tax_id": "20%"}},
{"unit": "piece", "qty": float64(2), "fxprice": float64(60), "netamount": float64(120), "vatamount": float64(18), "amount": float64(138), "description": "Souvenir - virtual product",
"keys": IM{"trans_id": "DMORD/00002", "product_id": "DMPROD/00012", "tax_id": "15%"}},
{"unit": "piece", "qty": float64(3), "fxprice": float64(25), "netamount": float64(75), "vatamount": float64(15), "amount": float64(90), "description": "Big product",
"keys": IM{"trans_id": "DMORD/00002", "product_id": "DMPROD/00001", "tax_id": "20%"}},
{"unit": "hour", "qty": float64(1), "fxprice": float64(120), "netamount": float64(120), "vatamount": float64(24), "amount": float64(144), "description": "Very good work!",
"keys": IM{"trans_id": "DMORD/00003", "product_id": "DMPROD/00002", "tax_id": "20%"}},
{"unit": "piece", "qty": float64(3), "fxprice": float64(166.67), "netamount": float64(500), "vatamount": float64(100), "amount": float64(600), "description": "Big product",
"keys": IM{"trans_id": "DMORD/00003", "product_id": "DMPROD/00001", "tax_id": "20%"}},
{"unit": "piece", "qty": float64(5), "fxprice": float64(20), "netamount": float64(100), "vatamount": float64(5), "amount": float64(105), "description": "Nice product",
"keys": IM{"trans_id": "DMORD/00003", "product_id": "DMPROD/00003", "tax_id": "5%"}},
{"unit": "hour", "qty": float64(1), "fxprice": float64(120), "netamount": float64(120), "vatamount": float64(24), "amount": float64(144), "description": "Very good work!",
"keys": IM{"trans_id": "DMOFF/00001", "product_id": "DMPROD/00002", "tax_id": "20%"}},
{"unit": "piece", "qty": float64(3), "fxprice": float64(166.67), "netamount": float64(500), "vatamount": float64(100), "amount": float64(600), "description": "Big product",
"keys": IM{"trans_id": "DMOFF/00001", "product_id": "DMPROD/00001", "tax_id": "20%"}},
{"unit": "piece", "qty": float64(5), "fxprice": float64(20), "netamount": float64(100), "vatamount": float64(5), "amount": float64(105), "description": "Nice product",
"keys": IM{"trans_id": "DMOFF/00001", "product_id": "DMPROD/00003", "tax_id": "5%"}},
{"unit": "hour", "qty": float64(1), "fxprice": float64(120), "netamount": float64(120), "vatamount": float64(24), "amount": float64(144), "description": "Very good work!",
"keys": IM{"trans_id": "DMINV/00001", "product_id": "DMPROD/00002", "tax_id": "20%"}},
{"unit": "piece", "qty": float64(3), "fxprice": float64(166.67), "netamount": float64(500), "vatamount": float64(100), "amount": float64(600), "description": "Big product",
"keys": IM{"trans_id": "DMINV/00001", "product_id": "DMPROD/00001", "tax_id": "20%"}},
{"unit": "piece", "qty": float64(5), "fxprice": float64(20), "netamount": float64(100), "vatamount": float64(5), "amount": float64(105), "description": "Nice product",
"keys": IM{"trans_id": "DMINV/00001", "product_id": "DMPROD/00003", "tax_id": "5%"}},
{"unit": "piece", "qty": float64(2), "fxprice": float64(60), "netamount": float64(120), "vatamount": float64(18), "amount": float64(138), "description": "Souvenir - virtual product",
"keys": IM{"trans_id": "DMINV/00002", "product_id": "DMPROD/00012", "tax_id": "15%"}},
{"unit": "piece", "qty": float64(3), "fxprice": float64(25), "netamount": float64(75), "vatamount": float64(15), "amount": float64(90), "description": "Big product",
"keys": IM{"trans_id": "DMINV/00002", "product_id": "DMPROD/00001", "tax_id": "20%"}},
{"unit": "piece", "qty": float64(30), "fxprice": float64(10), "netamount": float64(300), "vatamount": float64(60), "amount": float64(360), "description": "Wheel",
"keys": IM{"trans_id": "DMINV/00003", "product_id": "DMPROD/00005", "tax_id": "20%"}},
{"unit": "piece", "qty": float64(50), "fxprice": float64(12), "netamount": float64(600), "vatamount": float64(120), "amount": float64(720), "description": "Door",
"keys": IM{"trans_id": "DMINV/00003", "product_id": "DMPROD/00006", "tax_id": "20%"}},
{"unit": "liter", "qty": float64(50), "fxprice": float64(16), "netamount": float64(800), "vatamount": float64(160), "amount": float64(960), "description": "Paint",
"keys": IM{"trans_id": "DMINV/00003", "product_id": "DMPROD/00007", "tax_id": "20%"}},
{"unit": "piece", "qty": float64(15), "fxprice": float64(5), "netamount": float64(75), "vatamount": float64(15), "amount": float64(90), "description": "Pallet",
"keys": IM{"trans_id": "DMINV/00003", "product_id": "DMPROD/00008", "tax_id": "20%"}},
{"unit": "piece", "qty": float64(10), "fxprice": float64(120), "netamount": float64(1200), "vatamount": float64(240), "amount": float64(1440), "description": "Big product",
"keys": IM{"trans_id": "DMINV/00003", "product_id": "DMPROD/00001", "tax_id": "20%"}},
{"unit": "piece", "qty": float64(10), "fxprice": float64(15), "netamount": float64(150), "vatamount": float64(30), "amount": float64(180), "description": "Nice product",
"keys": IM{"trans_id": "DMINV/00003", "product_id": "DMPROD/00003", "tax_id": "20%"}},
{"unit": "piece", "qty": float64(15), "fxprice": float64(8), "netamount": float64(120), "vatamount": float64(24), "amount": float64(144), "description": "Basket",
"keys": IM{"trans_id": "DMINV/00003", "product_id": "DMPROD/00009", "tax_id": "20%"}},
{"unit": "piece", "qty": float64(10), "fxprice": float64(20), "netamount": float64(200), "vatamount": float64(10), "amount": float64(210), "description": "Wine",
"keys": IM{"trans_id": "DMINV/00003", "product_id": "DMPROD/00010", "tax_id": "5%"}},
{"unit": "piece", "qty": float64(20), "fxprice": float64(16), "netamount": float64(320), "vatamount": float64(64), "amount": float64(384), "description": "Chocolate",
"keys": IM{"trans_id": "DMINV/00003", "product_id": "DMPROD/00011", "tax_id": "20%"}},
{"unit": "hour", "qty": float64(2), "fxprice": float64(130), "netamount": float64(260), "vatamount": float64(52), "amount": float64(312), "description": "Good work",
"keys": IM{"trans_id": "DMWORK/00001", "product_id": "DMPROD/00002", "tax_id": "20%"}},
{"unit": "piece", "qty": float64(3), "fxprice": float64(12), "netamount": float64(396), "vatamount": float64(79.2), "amount": float64(475.2), "description": "Pallet",
"keys": IM{"trans_id": "DMRNT/00001", "product_id": "DMPROD/00008", "tax_id": "20%"}}},
"link": []IM{
{"keys": IM{"nervatype_1": "trans", "ref_id_1": "trans/DMOFF/00001", "nervatype_2": "trans", "ref_id_2": "trans/DMORD/00003"}},
{"keys": IM{"nervatype_1": "trans", "ref_id_1": "trans/DMINV/00001", "nervatype_2": "trans", "ref_id_2": "trans/DMORD/00003"}},
{"keys": IM{"nervatype_1": "trans", "ref_id_1": "trans/DMINV/00002", "nervatype_2": "trans", "ref_id_2": "trans/DMORD/00002"}},
{"keys": IM{"nervatype_1": "trans", "ref_id_1": "trans/DMINV/00003", "nervatype_2": "trans", "ref_id_2": "trans/DMORD/00001"}}}},
"trans_payment": IM{
"trans": []IM{
{"transnumber": "DMPMT/00001", "transdate": time.Now().AddDate(0, 0, 0).Format("2006") + "-01-15", "ref_transnumber": "BM0123456",
"keys": IM{"transtype": "bank", "direction": "transfer", "place_id": "bank", "transtate": "ok"}},
{"transnumber": "DMPMT/00002", "transdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-18",
"keys": IM{"transtype": "cash", "direction": "out", "place_id": "cash", "transtate": "ok"}}},
"payment": []IM{
{"paiddate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-20", "amount": float64(-4000), "notes": "payment two divided...",
"keys": IM{"trans_id": "DMPMT/00001"}},
{"paiddate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-20", "amount": float64(849),
"keys": IM{"trans_id": "DMPMT/00001"}},
{"paiddate": time.Now().AddDate(0, 0, 0).Format("2006") + "-01-10", "amount": float64(228),
"keys": IM{"trans_id": "DMPMT/00001"}},
{"paiddate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-18", "amount": float64(-488),
"keys": IM{"trans_id": "DMPMT/00002"}}},
"link": []IM{
{"link_qty": 4000, "link_rate": 1,
"keys": IM{"nervatype_1": "payment", "ref_id_1": "payment/DMPMT/00001~1", "nervatype_2": "trans", "ref_id_2": "trans/DMINV/00003"}},
{"link_qty": 849, "link_rate": 1,
"keys": IM{"nervatype_1": "payment", "ref_id_1": "payment/DMPMT/00001~2", "nervatype_2": "trans", "ref_id_2": "trans/DMINV/00001"}},
{"link_qty": 228, "link_rate": 1,
"keys": IM{"nervatype_1": "payment", "ref_id_1": "payment/DMPMT/00001~3", "nervatype_2": "trans", "ref_id_2": "trans/DMINV/00002"}},
{"link_qty": 488, "link_rate": 1,
"keys": IM{"nervatype_1": "payment", "ref_id_1": "payment/DMPMT/00002~1", "nervatype_2": "trans", "ref_id_2": "trans/DMINV/00003"}}}},
"trans_movement": IM{
"trans": []IM{
{"transnumber": "DMMOVE/00001", "transdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-05",
"notes": "We hand out some working tools to the employee...",
"keys": IM{"transtype": "waybill", "direction": "out", "employee_id": "DMEMP/00001", "transtate": "ok"}},
{"transnumber": "DMDEL/00001", "transdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-08",
"keys": IM{"transtype": "delivery", "direction": "in", "transtate": "ok"}},
{"transnumber": "DMDEL/00002", "transdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-10",
"keys": IM{"transtype": "delivery", "direction": "out", "transtate": "ok"}},
{"transnumber": "DMDEL/00003", "transdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-10",
"keys": IM{"transtype": "delivery", "direction": "out", "transtate": "ok"}},
{"transnumber": "DMDTF/00001", "transdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-08",
"keys": IM{"transtype": "delivery", "direction": "transfer", "place_id": "material", "transtate": "ok"}},
{"transnumber": "DMCORR/00001", "transdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-01",
"notes": "Scrapping of some products ...",
"keys": IM{"transtype": "inventory", "direction": "transfer", "place_id": "warehouse", "transtate": "ok"}},
{"transnumber": "DMFRM/00001", "transdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-01",
"notes": "Sample formula (4 door/car)",
"keys": IM{"transtype": "formula", "direction": "transfer", "transtate": "ok"}},
{"transnumber": "DMFRM/00002", "transdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-01",
"notes": "Sample formula (3 door/car)",
"keys": IM{"transtype": "formula", "direction": "transfer", "transtate": "ok"}},
{"transnumber": "DMMAKE/00001", "transdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-01",
"duedate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-02T00:00:00", "notes": "formula: 4 door/car",
"keys": IM{"transtype": "production", "direction": "transfer", "place_id": "warehouse", "transtate": "ok"}}},
"movement": []IM{
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-05T00:00:00",
"keys": IM{"trans_id": "DMMOVE/00001", "movetype": "tool", "tool_id": "DEF-456"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-05T00:00:00", "notes": "mobile phone",
"keys": IM{"trans_id": "DMMOVE/00001", "movetype": "tool", "tool_id": "IMEI-023456789"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-08T00:00:00", "qty": float64(30), "notes": "demo",
"keys": IM{"trans_id": "DMDEL/00001", "movetype": "inventory", "place_id": "material", "product_id": "DMPROD/00005"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-08T00:00:00", "qty": float64(50), "notes": "demo",
"keys": IM{"trans_id": "DMDEL/00001", "movetype": "inventory", "place_id": "material", "product_id": "DMPROD/00006"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-08T00:00:00", "qty": float64(50), "notes": "demo",
"keys": IM{"trans_id": "DMDEL/00001", "movetype": "inventory", "place_id": "material", "product_id": "DMPROD/00007"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-08T00:00:00", "qty": float64(15), "notes": "demo",
"keys": IM{"trans_id": "DMDEL/00001", "movetype": "inventory", "place_id": "material", "product_id": "DMPROD/00008"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-08T00:00:00", "qty": float64(10), "notes": "demo",
"keys": IM{"trans_id": "DMDEL/00001", "movetype": "inventory", "place_id": "material", "product_id": "DMPROD/00001"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-08T00:00:00", "qty": float64(10), "notes": "demo",
"keys": IM{"trans_id": "DMDEL/00001", "movetype": "inventory", "place_id": "material", "product_id": "DMPROD/00003"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-08T00:00:00", "qty": float64(15), "notes": "demo",
"keys": IM{"trans_id": "DMDEL/00001", "movetype": "inventory", "place_id": "material", "product_id": "DMPROD/00009"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-08T00:00:00", "qty": float64(10), "notes": "demo",
"keys": IM{"trans_id": "DMDEL/00001", "movetype": "inventory", "place_id": "material", "product_id": "DMPROD/00010"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-08T00:00:00", "qty": float64(20), "notes": "demo",
"keys": IM{"trans_id": "DMDEL/00001", "movetype": "inventory", "place_id": "material", "product_id": "DMPROD/00011"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-10T00:00:00", "qty": float64(-2), "notes": "demo",
"keys": IM{"trans_id": "DMDEL/00002", "movetype": "inventory", "place_id": "warehouse", "product_id": "DMPROD/00009"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-10T00:00:00", "qty": float64(-2), "notes": "demo",
"keys": IM{"trans_id": "DMDEL/00002", "movetype": "inventory", "place_id": "warehouse", "product_id": "DMPROD/00010"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-10T00:00:00", "qty": float64(-4), "notes": "demo",
"keys": IM{"trans_id": "DMDEL/00002", "movetype": "inventory", "place_id": "warehouse", "product_id": "DMPROD/00011"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-10T00:00:00", "qty": float64(-3), "notes": "demo",
"keys": IM{"trans_id": "DMDEL/00002", "movetype": "inventory", "place_id": "warehouse", "product_id": "DMPROD/00001"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-10T00:00:00", "qty": float64(-3), "notes": "demo",
"keys": IM{"trans_id": "DMDEL/00003", "movetype": "inventory", "place_id": "warehouse", "product_id": "DMPROD/00001"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-10T00:00:00", "qty": float64(-5), "notes": "demo",
"keys": IM{"trans_id": "DMDEL/00003", "movetype": "inventory", "place_id": "warehouse", "product_id": "DMPROD/00003"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-08T00:00:00", "qty": float64(-10), "notes": "demo",
"keys": IM{"trans_id": "DMDTF/00001", "movetype": "inventory", "place_id": "material", "product_id": "DMPROD/00001"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-08T00:00:00", "qty": float64(10), "notes": "demo",
"keys": IM{"trans_id": "DMDTF/00001", "movetype": "inventory", "place_id": "warehouse", "product_id": "DMPROD/00001"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-08T00:00:00", "qty": float64(-10), "notes": "demo",
"keys": IM{"trans_id": "DMDTF/00001", "movetype": "inventory", "place_id": "material", "product_id": "DMPROD/00003"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-08T00:00:00", "qty": float64(10), "notes": "demo",
"keys": IM{"trans_id": "DMDTF/00001", "movetype": "inventory", "place_id": "warehouse", "product_id": "DMPROD/00003"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-08T00:00:00", "qty": float64(-15), "notes": "demo",
"keys": IM{"trans_id": "DMDTF/00001", "movetype": "inventory", "place_id": "material", "product_id": "DMPROD/00009"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-08T00:00:00", "qty": float64(15), "notes": "demo",
"keys": IM{"trans_id": "DMDTF/00001", "movetype": "inventory", "place_id": "warehouse", "product_id": "DMPROD/00009"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-08T00:00:00", "qty": float64(-10), "notes": "demo",
"keys": IM{"trans_id": "DMDTF/00001", "movetype": "inventory", "place_id": "material", "product_id": "DMPROD/00010"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-08T00:00:00", "qty": float64(10), "notes": "demo",
"keys": IM{"trans_id": "DMDTF/00001", "movetype": "inventory", "place_id": "warehouse", "product_id": "DMPROD/00010"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-08T00:00:00", "qty": float64(-20), "notes": "demo",
"keys": IM{"trans_id": "DMDTF/00001", "movetype": "inventory", "place_id": "material", "product_id": "DMPROD/00011"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-11-08T00:00:00", "qty": float64(20), "notes": "demo",
"keys": IM{"trans_id": "DMDTF/00001", "movetype": "inventory", "place_id": "warehouse", "product_id": "DMPROD/00011"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-01T00:00:00", "qty": float64(-2), "notes": "demo",
"keys": IM{"trans_id": "DMCORR/00001", "movetype": "inventory", "place_id": "warehouse", "product_id": "DMPROD/00001"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-01T00:00:00", "qty": float64(-3), "notes": "demo",
"keys": IM{"trans_id": "DMCORR/00001", "movetype": "inventory", "place_id": "warehouse", "product_id": "DMPROD/00010"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-01T00:00:00", "qty": float64(5), "shared": 0,
"keys": IM{"trans_id": "DMFRM/00001", "movetype": "head", "product_id": "DMPROD/00004"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-01T00:00:00", "qty": float64(20), "shared": 0,
"keys": IM{"trans_id": "DMFRM/00001", "movetype": "plan", "product_id": "DMPROD/00005", "place_id": "material"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-01T00:00:00", "qty": float64(20), "shared": 0,
"keys": IM{"trans_id": "DMFRM/00001", "movetype": "plan", "product_id": "DMPROD/00006", "place_id": "material"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-01T00:00:00", "qty": float64(30), "shared": 0,
"keys": IM{"trans_id": "DMFRM/00001", "movetype": "plan", "product_id": "DMPROD/00007", "place_id": "material"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-01T00:00:00", "qty": float64(1), "shared": 1,
"keys": IM{"trans_id": "DMFRM/00001", "movetype": "plan", "product_id": "DMPROD/00008", "place_id": "material"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-01T00:00:00", "qty": float64(5), "shared": 0,
"keys": IM{"trans_id": "DMFRM/00002", "movetype": "head", "product_id": "DMPROD/00004"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-01T00:00:00", "qty": float64(20), "shared": 0,
"keys": IM{"trans_id": "DMFRM/00002", "movetype": "plan", "product_id": "DMPROD/00005", "place_id": "material"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-01T00:00:00", "qty": float64(15), "shared": 0,
"keys": IM{"trans_id": "DMFRM/00002", "movetype": "plan", "product_id": "DMPROD/00006"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-01T00:00:00", "qty": float64(28), "shared": 0,
"keys": IM{"trans_id": "DMFRM/00002", "movetype": "plan", "product_id": "DMPROD/00007", "place_id": "material"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-01T00:00:00", "qty": float64(1), "shared": 1, "notes": "demo",
"keys": IM{"trans_id": "DMFRM/00002", "movetype": "plan", "product_id": "DMPROD/00008", "place_id": "material"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-02T00:00:00", "qty": float64(2), "shared": 1, "notes": "demo",
"keys": IM{"trans_id": "DMMAKE/00001", "movetype": "inventory", "product_id": "DMPROD/00004", "place_id": "warehouse"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-01T00:00:00", "qty": float64(-8), "shared": 0, "notes": "demo",
"keys": IM{"trans_id": "DMMAKE/00001", "movetype": "inventory", "product_id": "DMPROD/00005", "place_id": "material"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-01T00:00:00", "qty": float64(-8), "shared": 0, "notes": "demo",
"keys": IM{"trans_id": "DMMAKE/00001", "movetype": "inventory", "product_id": "DMPROD/00006", "place_id": "material"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-01T00:00:00", "qty": float64(-12), "shared": 0, "notes": "demo",
"keys": IM{"trans_id": "DMMAKE/00001", "movetype": "inventory", "product_id": "DMPROD/00007", "place_id": "material"}},
{"shippingdate": time.Now().AddDate(-1, 0, 0).Format("2006") + "-12-01T00:00:00", "qty": float64(-1), "shared": 0, "notes": "demo",
"keys": IM{"trans_id": "DMMAKE/00001", "movetype": "inventory", "product_id": "DMPROD/00008", "place_id": "material"}}},
"link": []IM{
{"keys": IM{"nervatype_1": "movement", "ref_id_1": "movement/DMDEL/00001~1", "nervatype_2": "item", "ref_id_2": "item/DMORD/00001~1"}},
{"keys": IM{"nervatype_1": "movement", "ref_id_1": "movement/DMDEL/00001~2", "nervatype_2": "item", "ref_id_2": "item/DMORD/00001~2"}},
{"keys": IM{"nervatype_1": "movement", "ref_id_1": "movement/DMDEL/00001~3", "nervatype_2": "item", "ref_id_2": "item/DMORD/00001~3"}},
{"keys": IM{"nervatype_1": "movement", "ref_id_1": "movement/DMDEL/00001~4", "nervatype_2": "item", "ref_id_2": "item/DMORD/00001~4"}},
{"keys": IM{"nervatype_1": "movement", "ref_id_1": "movement/DMDEL/00001~5", "nervatype_2": "item", "ref_id_2": "item/DMORD/00001~5"}},
{"keys": IM{"nervatype_1": "movement", "ref_id_1": "movement/DMDEL/00001~6", "nervatype_2": "item", "ref_id_2": "item/DMORD/00001~6"}},
{"keys": IM{"nervatype_1": "movement", "ref_id_1": "movement/DMDEL/00001~7", "nervatype_2": "item", "ref_id_2": "item/DMORD/00001~7"}},
{"keys": IM{"nervatype_1": "movement", "ref_id_1": "movement/DMDEL/00001~8", "nervatype_2": "item", "ref_id_2": "item/DMORD/00001~8"}},
{"keys": IM{"nervatype_1": "movement", "ref_id_1": "movement/DMDEL/00001~9", "nervatype_2": "item", "ref_id_2": "item/DMORD/00001~9"}},
{"keys": IM{"nervatype_1": "movement", "ref_id_1": "movement/DMDEL/00002~1", "nervatype_2": "item", "ref_id_2": "item/DMORD/00002~1"}},
{"keys": IM{"nervatype_1": "movement", "ref_id_1": "movement/DMDEL/00002~2", "nervatype_2": "item", "ref_id_2": "item/DMORD/00002~1"}},
{"keys": IM{"nervatype_1": "movement", "ref_id_1": "movement/DMDEL/00002~3", "nervatype_2": "item", "ref_id_2": "item/DMORD/00002~1"}},
{"keys": IM{"nervatype_1": "movement", "ref_id_1": "movement/DMDEL/00002~4", "nervatype_2": "item", "ref_id_2": "item/DMORD/00002~2"}},
{"keys": IM{"nervatype_1": "movement", "ref_id_1": "movement/DMDEL/00003~1", "nervatype_2": "item", "ref_id_2": "item/DMORD/00003~2"}},
{"keys": IM{"nervatype_1": "movement", "ref_id_1": "movement/DMDEL/00003~2", "nervatype_2": "item", "ref_id_2": "item/DMORD/00003~3"}},
{"keys": IM{"nervatype_1": "movement", "ref_id_1": "movement/DMDTF/00001~1", "nervatype_2": "movement", "ref_id_2": "movement/DMDTF/00001~2"}},
{"keys": IM{"nervatype_1": "movement", "ref_id_1": "movement/DMDTF/00001~3", "nervatype_2": "movement", "ref_id_2": "movement/DMDTF/00001~4"}},
{"keys": IM{"nervatype_1": "movement", "ref_id_1": "movement/DMDTF/00001~5", "nervatype_2": "movement", "ref_id_2": "movement/DMDTF/00001~6"}},
{"keys": IM{"nervatype_1": "movement", "ref_id_1": "movement/DMDTF/00001~7", "nervatype_2": "movement", "ref_id_2": "movement/DMDTF/00001~8"}},
{"keys": IM{"nervatype_1": "movement", "ref_id_1": "movement/DMDTF/00001~9", "nervatype_2": "movement", "ref_id_2": "movement/DMDTF/00001~10"}}}},
"menu": IM{
"ui_menu": []IM{
{"menukey": "nextNumber", "description": "Server function example", "funcname": "nextNumber",
"keys": IM{"method": "post"}},
{"menukey": "google", "description": "Internet URL example", "funcname": "search",
"address": "https://www.google.com", "keys": IM{"method": "get"}}},
"ui_menufields": []IM{
{"fieldname": "numberkey", "description": "Code (e.g. custnumber)", "orderby": 0,
"keys": IM{"menu_id": "nextNumber", "fieldtype": "string"}},
{"fieldname": "step", "description": "Stepping", "orderby": 1,
"keys": IM{"menu_id": "nextNumber", "fieldtype": "bool"}},
{"fieldname": "q", "description": "google search", "orderby": 0,
"keys": IM{"menu_id": "google", "fieldtype": "string"}}}},
}
}