Commit c885349
committed
fix: address review feedback — duplicate item_code + lazy VAT mapping
Addresses two points raised in review of PR #74:
1. Duplicate item_code on multiple invoice lines
v16 lookup key is now (tax_row_name, item_row_name) instead of
(tax_row_name, item_code). Each POS Invoice Item row is processed
individually — two lines with the same item_code no longer collapse
under one shared key. A separate net_amount_by_row_name dict tracks
net amounts per unique row. For the v15 path, net_amount_by_item_code
now accumulates with += instead of overwriting on duplicates.
2. Lazy VAT mapping resolution
_resolve_vat_code / _resolve_vat_id are now deferred until we actually
have relevant detail data to process. Tax rows without usable
item_wise_tax_detail data no longer force a mapping lookup — matching
the original pre-v16 behavior of silently skipping such rows
(tse_transaction.py:243 style continue).
Applied symmetrically in both _build_amounts_per_vat_rate
(tse_transaction.py) and _build_amounts_per_vat_definition
(dsfinv_k_cash_point_closing.py).
Tested on v16 with 6 scenarios (all via HTTP):
- 19% only
- 7% only
- Mixed 19% + 7%
- Duplicate item_code 19% (2x same item, different amounts)
- Duplicate item_code 7%
- Duplicate 19% + single 7% (3 lines, 2 with same item_code)1 parent 53fb15f commit c885349
2 files changed
Lines changed: 87 additions & 68 deletions
File tree
- erpnext_tse/erpnext_tse/doctype
- dsfinv_k_cash_point_closing
- tse_transaction
Lines changed: 45 additions & 34 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
349 | 349 | | |
350 | 350 | | |
351 | 351 | | |
| 352 | + | |
352 | 353 | | |
| 354 | + | |
| 355 | + | |
353 | 356 | | |
354 | 357 | | |
355 | 358 | | |
356 | 359 | | |
357 | 360 | | |
358 | 361 | | |
359 | 362 | | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
360 | 367 | | |
361 | 368 | | |
362 | 369 | | |
| |||
369 | 376 | | |
370 | 377 | | |
371 | 378 | | |
372 | | - | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
373 | 383 | | |
374 | 384 | | |
375 | 385 | | |
| |||
396 | 406 | | |
397 | 407 | | |
398 | 408 | | |
399 | | - | |
400 | | - | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
401 | 413 | | |
402 | | - | |
403 | | - | |
404 | | - | |
405 | | - | |
406 | | - | |
407 | | - | |
408 | | - | |
409 | | - | |
410 | | - | |
411 | | - | |
412 | | - | |
413 | 414 | | |
414 | 415 | | |
415 | 416 | | |
| |||
426 | 427 | | |
427 | 428 | | |
428 | 429 | | |
429 | | - | |
430 | | - | |
431 | | - | |
432 | | - | |
433 | | - | |
434 | | - | |
435 | | - | |
436 | | - | |
437 | | - | |
438 | | - | |
439 | | - | |
440 | | - | |
441 | | - | |
442 | | - | |
443 | | - | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
444 | 438 | | |
445 | 439 | | |
446 | 440 | | |
| |||
451 | 445 | | |
452 | 446 | | |
453 | 447 | | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
454 | 457 | | |
455 | 458 | | |
456 | 459 | | |
| |||
464 | 467 | | |
465 | 468 | | |
466 | 469 | | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
467 | 473 | | |
468 | 474 | | |
469 | 475 | | |
| |||
473 | 479 | | |
474 | 480 | | |
475 | 481 | | |
476 | | - | |
477 | | - | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
478 | 485 | | |
479 | 486 | | |
480 | 487 | | |
481 | | - | |
482 | | - | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
483 | 491 | | |
484 | 492 | | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
485 | 496 | | |
486 | | - | |
| 497 | + | |
487 | 498 | | |
488 | 499 | | |
489 | 500 | | |
| |||
Lines changed: 42 additions & 34 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
184 | 184 | | |
185 | 185 | | |
186 | 186 | | |
187 | | - | |
| 187 | + | |
188 | 188 | | |
| 189 | + | |
| 190 | + | |
189 | 191 | | |
190 | 192 | | |
191 | 193 | | |
192 | 194 | | |
193 | 195 | | |
194 | 196 | | |
195 | 197 | | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
196 | 202 | | |
197 | 203 | | |
198 | 204 | | |
| |||
205 | 211 | | |
206 | 212 | | |
207 | 213 | | |
208 | | - | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
209 | 218 | | |
210 | 219 | | |
211 | 220 | | |
| |||
244 | 253 | | |
245 | 254 | | |
246 | 255 | | |
247 | | - | |
248 | | - | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
249 | 260 | | |
250 | | - | |
251 | | - | |
252 | | - | |
253 | | - | |
254 | | - | |
255 | | - | |
256 | | - | |
257 | | - | |
258 | | - | |
259 | | - | |
260 | | - | |
261 | 261 | | |
262 | 262 | | |
263 | 263 | | |
| |||
274 | 274 | | |
275 | 275 | | |
276 | 276 | | |
277 | | - | |
278 | | - | |
279 | | - | |
280 | | - | |
281 | | - | |
282 | | - | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
283 | 292 | | |
284 | 293 | | |
285 | 294 | | |
| |||
289 | 298 | | |
290 | 299 | | |
291 | 300 | | |
292 | | - | |
293 | | - | |
294 | | - | |
295 | | - | |
296 | | - | |
297 | | - | |
298 | | - | |
299 | | - | |
300 | 301 | | |
301 | 302 | | |
302 | 303 | | |
| |||
310 | 311 | | |
311 | 312 | | |
312 | 313 | | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
313 | 317 | | |
314 | 318 | | |
315 | 319 | | |
| |||
330 | 334 | | |
331 | 335 | | |
332 | 336 | | |
333 | | - | |
334 | | - | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
335 | 340 | | |
336 | 341 | | |
337 | 342 | | |
338 | | - | |
339 | | - | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
340 | 346 | | |
341 | 347 | | |
342 | 348 | | |
343 | 349 | | |
344 | 350 | | |
345 | 351 | | |
346 | | - | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
347 | 355 | | |
348 | 356 | | |
349 | 357 | | |
| |||
0 commit comments