<freeStyleProject _class='hudson.model.FreeStyleProject'><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.JobDisplayAction'><displayUrl>https://jenkins.younex.de/job/erp-frontend-pipeline-production/</displayUrl></action><action _class='com.cloudbees.plugins.credentials.ViewCredentialsAction'><stores></stores></action><description>This is the pipeline configuration for erp frontend.

For DEVELOPMENT</description><displayName>erp-frontend-pipeline-production</displayName><fullDisplayName>erp-frontend-pipeline-production</fullDisplayName><fullName>erp-frontend-pipeline-production</fullName><name>erp-frontend-pipeline-production</name><url>https://jenkins.younex.de/job/erp-frontend-pipeline-production/</url><buildable>true</buildable><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by younex1</shortDescription></cause><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by younex1</shortDescription></cause></action><action></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>1679</buildNumber><marked><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><branch><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><branch><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><branch><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/younex1/erp-nuxt-frontend.git</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1679</displayName><duration>558014</duration><estimatedDuration>564299</estimatedDuration><fullDisplayName>erp-frontend-pipeline-production #1679</fullDisplayName><id>1679</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1679</number><queueId>5966</queueId><result>SUCCESS</result><timestamp>1793710844651</timestamp><url>https://jenkins.younex.de/job/erp-frontend-pipeline-production/1679/</url><builtOn>Application-Node-Production</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/components/settings/OrderSourceForm.vue</affectedPath><affectedPath>app/pages/settings/order-sources/create.vue</affectedPath><affectedPath>app/pages/partners/partners/[id]/edit.vue</affectedPath><affectedPath>server/utils/dhlMainCredential.ts</affectedPath><affectedPath>server/api/partners/partners/store.post.ts</affectedPath><affectedPath>app/pages/settings/order-sources/[id]/view.vue</affectedPath><affectedPath>.claude/rules/fulfillment/shippers.md</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core.js</affectedPath><affectedPath>server/api/commission/parcels/dpd/manual.post.ts</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>server/api/settings/order-sources/store.post.ts</affectedPath><affectedPath>.claude/rules/partners/partner-edit-form.md</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>public/scanbot/ScanbotSDK.ui2.min.js</affectedPath><affectedPath>app/pages/settings/order-sources/[id]/edit.vue</affectedPath><affectedPath>server/api/settings/order-sources/update.put.ts</affectedPath><affectedPath>server/api/commission/parcels/dpd/index.post.ts</affectedPath><affectedPath>server/api/partners/partners/update.put.ts</affectedPath><affectedPath>server/api/commission/parcels/dhl/index.put.ts</affectedPath><affectedPath>app/assets/langs/shared.js</affectedPath><affectedPath>public/scanbot/ScanbotSDK.min.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>server/api/inouts/[id]/reset-commission.post.ts</affectedPath><affectedPath>server/api/commission/parcels/dhl/multi.post.ts</affectedPath><affectedPath>server/api/commission/parcels/dpd/multi.post.ts</affectedPath><affectedPath>server/utils/dhlAccountResolver.ts</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core.js</affectedPath><affectedPath>server/utils/dhlCustomHelper.ts</affectedPath><affectedPath>server/utils/dpdAccountResolver.ts</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>server/api/commission/parcels/dhl/index.post.ts</affectedPath><affectedPath>app/pages/partners/partners/create.vue</affectedPath><affectedPath>app/pages/partners/partners/[id]/view.vue</affectedPath><affectedPath>app/components/partners/PartnerForm.vue</affectedPath><affectedPath>server/api/commission/parcels/dhl/index.get.ts</affectedPath><affectedPath>server/api/tracking/[number].get.ts</affectedPath><affectedPath>server/utils/orgPartnerCache.ts</affectedPath><affectedPath>server/utils/dhlHelper.ts</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>server/api/commission/trackings/tracking.get.ts</affectedPath><affectedPath>server/api/commission/parcels/dhl/manual.post.ts</affectedPath><commitId>ae86f94c382a71f1c614b0307eddc715e812af80</commitId><timestamp>1793710799000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Per-customer DHL/DPD accounts with shared three-tier account resolvers

Labels, reprints, cancels, resets and tracking now pick the carrier account in
one place per carrier (server/utils/dhlAccountResolver.ts, dpdAccountResolver.ts):
order source with its own account → the org's business partner when
"customer uses own account" is on and credentials are filled → LogYou main.
Label creation is refused (422) for a flagged customer without credentials
anywhere, so a manual order can no longer be labelled on the LogYou account by
accident. Custom accounts get a Kleinpaket billing number; without it a
qualifying parcel ships as V01PAK instead of a V62KP on the wrong procedure.

Partner create/edit/view and order-source create/edit/view carry the new
fields with precedence explanations, tooltips and carrier icons (DE flag,
globe, DHL Kleinpaket badge, DPD card). Partner saves invalidate the shared
org-partner cache (orgPartnerCache.ts).

Also: the DHL cancel route no longer returns the account password to the
browser, and dhlCustomHelper no longer shares one token cookie across
different custom accounts.
</comment><date>2026-11-03 13:59:59 +0100</date><id>ae86f94c382a71f1c614b0307eddc715e812af80</id><msg>Per-customer DHL/DPD accounts with shared three-tier account resolvers</msg><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>app/pages/partners/partners/[id]/view.vue</file></path><path><editType>edit</editType><file>app/pages/partners/partners/[id]/edit.vue</file></path><path><editType>edit</editType><file>server/api/settings/order-sources/store.post.ts</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dpd/manual.post.ts</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dpd/multi.post.ts</file></path><path><editType>edit</editType><file>public/scanbot/ScanbotSDK.min.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/index.put.ts</file></path><path><editType>edit</editType><file>server/api/partners/partners/update.put.ts</file></path><path><editType>edit</editType><file>app/pages/settings/order-sources/[id]/view.vue</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/index.get.ts</file></path><path><editType>edit</editType><file>app/assets/langs/shared.js</file></path><path><editType>edit</editType><file>app/components/settings/OrderSourceForm.vue</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/index.post.ts</file></path><path><editType>add</editType><file>server/utils/dhlAccountResolver.ts</file></path><path><editType>edit</editType><file>app/components/partners/PartnerForm.vue</file></path><path><editType>add</editType><file>server/utils/dpdAccountResolver.ts</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/manual.post.ts</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>server/api/tracking/[number].get.ts</file></path><path><editType>edit</editType><file>server/api/inouts/[id]/reset-commission.post.ts</file></path><path><editType>edit</editType><file>server/utils/dhlMainCredential.ts</file></path><path><editType>edit</editType><file>app/pages/settings/order-sources/create.vue</file></path><path><editType>edit</editType><file>server/utils/dhlHelper.ts</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/multi.post.ts</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dpd/index.post.ts</file></path><path><editType>edit</editType><file>public/scanbot/ScanbotSDK.ui2.min.js</file></path><path><editType>edit</editType><file>server/utils/dhlCustomHelper.ts</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>server/api/partners/partners/store.post.ts</file></path><path><editType>edit</editType><file>.claude/rules/partners/partner-edit-form.md</file></path><path><editType>edit</editType><file>app/pages/settings/order-sources/[id]/edit.vue</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>app/pages/partners/partners/create.vue</file></path><path><editType>add</editType><file>server/utils/orgPartnerCache.ts</file></path><path><editType>edit</editType><file>server/api/commission/trackings/tracking.get.ts</file></path><path><editType>edit</editType><file>.claude/rules/fulfillment/shippers.md</file></path><path><editType>edit</editType><file>server/api/settings/order-sources/update.put.ts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>public/scanbot/ScanbotSDK.min.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>public/scanbot/ScanbotSDK.ui2.min.js</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core.js</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd-threads.js</affectedPath><commitId>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</commitId><timestamp>1793710833000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Revert scanbot SDK files accidentally included in the previous commit
</comment><date>2026-11-03 14:00:33 +0100</date><id>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</id><msg>Revert scanbot SDK files accidentally included in the previous commit</msg><path><editType>edit</editType><file>public/scanbot/ScanbotSDK.ui2.min.js</file></path><path><editType>edit</editType><file>public/scanbot/ScanbotSDK.min.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd.js</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></culprit></build><build _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by younex1</shortDescription></cause></action><action></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>1678</buildNumber><marked><SHA1>8de3a55c8e84c8912d1c0b80de1104909c99dff9</SHA1><branch><SHA1>8de3a55c8e84c8912d1c0b80de1104909c99dff9</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>8de3a55c8e84c8912d1c0b80de1104909c99dff9</SHA1><branch><SHA1>8de3a55c8e84c8912d1c0b80de1104909c99dff9</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>8de3a55c8e84c8912d1c0b80de1104909c99dff9</SHA1><branch><SHA1>8de3a55c8e84c8912d1c0b80de1104909c99dff9</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/younex1/erp-nuxt-frontend.git</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1678</displayName><duration>570583</duration><estimatedDuration>564299</estimatedDuration><fullDisplayName>erp-frontend-pipeline-production #1678</fullDisplayName><id>1678</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1678</number><queueId>5965</queueId><result>SUCCESS</result><timestamp>1793702259245</timestamp><url>https://jenkins.younex.de/job/erp-frontend-pipeline-production/1678/</url><builtOn>Application-Node-Production</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>server/api/inouts/quick-rma.post.ts</affectedPath><affectedPath>app/pages/mobile/return.vue</affectedPath><affectedPath>app/pages/integrations/returns-desktop.vue</affectedPath><affectedPath>app/composables/useReturnedQty.ts</affectedPath><commitId>8de3a55c8e84c8912d1c0b80de1104909c99dff9</commitId><timestamp>1793702247000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>quick-rma: create a fresh RMA next to a marketplace RMA that already authorizes a shipment line

Follow-up to 3e5766907. The fresh RMA for shipment 535011 was rejected
with 'Amount to be returned is greater than the amount shipped': the
Amazon RMA 30595 already authorizes both shipped HYDRO units, and
iDempiere's MRMALine.checkQty sums every completed/closed RMA line on a
shipment line (a completed RMA also takes no new lines).

quick-rma now collects the authorized qty per shipment line from CO/CL
RMAs and creates such an RMA line without M_InOutLine_ID (product + qty,
description notes the conflict); the receipt line still links to it via
M_RMALine_ID. useReturnedQty attributes receipt lines of unlinked RMA
lines to the shipment line by product (callers pass the shipment lines)
so the remaining qty stays correct.
</comment><date>2026-11-03 11:37:27 +0100</date><id>8de3a55c8e84c8912d1c0b80de1104909c99dff9</id><msg>quick-rma: create a fresh RMA next to a marketplace RMA that already authorizes a shipment line</msg><path><editType>edit</editType><file>app/pages/integrations/returns-desktop.vue</file></path><path><editType>edit</editType><file>app/composables/useReturnedQty.ts</file></path><path><editType>edit</editType><file>app/pages/mobile/return.vue</file></path><path><editType>edit</editType><file>server/api/inouts/quick-rma.post.ts</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></culprit></build><color>blue</color><firstBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by younex1</shortDescription></cause></action><action></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>1678</buildNumber><marked><SHA1>8de3a55c8e84c8912d1c0b80de1104909c99dff9</SHA1><branch><SHA1>8de3a55c8e84c8912d1c0b80de1104909c99dff9</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>8de3a55c8e84c8912d1c0b80de1104909c99dff9</SHA1><branch><SHA1>8de3a55c8e84c8912d1c0b80de1104909c99dff9</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>8de3a55c8e84c8912d1c0b80de1104909c99dff9</SHA1><branch><SHA1>8de3a55c8e84c8912d1c0b80de1104909c99dff9</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/younex1/erp-nuxt-frontend.git</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1678</displayName><duration>570583</duration><estimatedDuration>564299</estimatedDuration><fullDisplayName>erp-frontend-pipeline-production #1678</fullDisplayName><id>1678</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1678</number><queueId>5965</queueId><result>SUCCESS</result><timestamp>1793702259245</timestamp><url>https://jenkins.younex.de/job/erp-frontend-pipeline-production/1678/</url><builtOn>Application-Node-Production</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>server/api/inouts/quick-rma.post.ts</affectedPath><affectedPath>app/pages/mobile/return.vue</affectedPath><affectedPath>app/pages/integrations/returns-desktop.vue</affectedPath><affectedPath>app/composables/useReturnedQty.ts</affectedPath><commitId>8de3a55c8e84c8912d1c0b80de1104909c99dff9</commitId><timestamp>1793702247000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>quick-rma: create a fresh RMA next to a marketplace RMA that already authorizes a shipment line

Follow-up to 3e5766907. The fresh RMA for shipment 535011 was rejected
with 'Amount to be returned is greater than the amount shipped': the
Amazon RMA 30595 already authorizes both shipped HYDRO units, and
iDempiere's MRMALine.checkQty sums every completed/closed RMA line on a
shipment line (a completed RMA also takes no new lines).

quick-rma now collects the authorized qty per shipment line from CO/CL
RMAs and creates such an RMA line without M_InOutLine_ID (product + qty,
description notes the conflict); the receipt line still links to it via
M_RMALine_ID. useReturnedQty attributes receipt lines of unlinked RMA
lines to the shipment line by product (callers pass the shipment lines)
so the remaining qty stays correct.
</comment><date>2026-11-03 11:37:27 +0100</date><id>8de3a55c8e84c8912d1c0b80de1104909c99dff9</id><msg>quick-rma: create a fresh RMA next to a marketplace RMA that already authorizes a shipment line</msg><path><editType>edit</editType><file>app/pages/integrations/returns-desktop.vue</file></path><path><editType>edit</editType><file>app/composables/useReturnedQty.ts</file></path><path><editType>edit</editType><file>app/pages/mobile/return.vue</file></path><path><editType>edit</editType><file>server/api/inouts/quick-rma.post.ts</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></culprit></firstBuild><healthReport><description>Build stability: No recent builds failed.</description><iconClassName>icon-health-80plus</iconClassName><iconUrl>health-80plus.png</iconUrl><score>100</score></healthReport><inQueue>false</inQueue><keepDependencies>false</keepDependencies><lastBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by younex1</shortDescription></cause><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by younex1</shortDescription></cause></action><action></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>1679</buildNumber><marked><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><branch><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><branch><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><branch><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/younex1/erp-nuxt-frontend.git</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1679</displayName><duration>558014</duration><estimatedDuration>564299</estimatedDuration><fullDisplayName>erp-frontend-pipeline-production #1679</fullDisplayName><id>1679</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1679</number><queueId>5966</queueId><result>SUCCESS</result><timestamp>1793710844651</timestamp><url>https://jenkins.younex.de/job/erp-frontend-pipeline-production/1679/</url><builtOn>Application-Node-Production</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/components/settings/OrderSourceForm.vue</affectedPath><affectedPath>app/pages/settings/order-sources/create.vue</affectedPath><affectedPath>app/pages/partners/partners/[id]/edit.vue</affectedPath><affectedPath>server/utils/dhlMainCredential.ts</affectedPath><affectedPath>server/api/partners/partners/store.post.ts</affectedPath><affectedPath>app/pages/settings/order-sources/[id]/view.vue</affectedPath><affectedPath>.claude/rules/fulfillment/shippers.md</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core.js</affectedPath><affectedPath>server/api/commission/parcels/dpd/manual.post.ts</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>server/api/settings/order-sources/store.post.ts</affectedPath><affectedPath>.claude/rules/partners/partner-edit-form.md</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>public/scanbot/ScanbotSDK.ui2.min.js</affectedPath><affectedPath>app/pages/settings/order-sources/[id]/edit.vue</affectedPath><affectedPath>server/api/settings/order-sources/update.put.ts</affectedPath><affectedPath>server/api/commission/parcels/dpd/index.post.ts</affectedPath><affectedPath>server/api/partners/partners/update.put.ts</affectedPath><affectedPath>server/api/commission/parcels/dhl/index.put.ts</affectedPath><affectedPath>app/assets/langs/shared.js</affectedPath><affectedPath>public/scanbot/ScanbotSDK.min.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>server/api/inouts/[id]/reset-commission.post.ts</affectedPath><affectedPath>server/api/commission/parcels/dhl/multi.post.ts</affectedPath><affectedPath>server/api/commission/parcels/dpd/multi.post.ts</affectedPath><affectedPath>server/utils/dhlAccountResolver.ts</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core.js</affectedPath><affectedPath>server/utils/dhlCustomHelper.ts</affectedPath><affectedPath>server/utils/dpdAccountResolver.ts</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>server/api/commission/parcels/dhl/index.post.ts</affectedPath><affectedPath>app/pages/partners/partners/create.vue</affectedPath><affectedPath>app/pages/partners/partners/[id]/view.vue</affectedPath><affectedPath>app/components/partners/PartnerForm.vue</affectedPath><affectedPath>server/api/commission/parcels/dhl/index.get.ts</affectedPath><affectedPath>server/api/tracking/[number].get.ts</affectedPath><affectedPath>server/utils/orgPartnerCache.ts</affectedPath><affectedPath>server/utils/dhlHelper.ts</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>server/api/commission/trackings/tracking.get.ts</affectedPath><affectedPath>server/api/commission/parcels/dhl/manual.post.ts</affectedPath><commitId>ae86f94c382a71f1c614b0307eddc715e812af80</commitId><timestamp>1793710799000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Per-customer DHL/DPD accounts with shared three-tier account resolvers

Labels, reprints, cancels, resets and tracking now pick the carrier account in
one place per carrier (server/utils/dhlAccountResolver.ts, dpdAccountResolver.ts):
order source with its own account → the org's business partner when
"customer uses own account" is on and credentials are filled → LogYou main.
Label creation is refused (422) for a flagged customer without credentials
anywhere, so a manual order can no longer be labelled on the LogYou account by
accident. Custom accounts get a Kleinpaket billing number; without it a
qualifying parcel ships as V01PAK instead of a V62KP on the wrong procedure.

Partner create/edit/view and order-source create/edit/view carry the new
fields with precedence explanations, tooltips and carrier icons (DE flag,
globe, DHL Kleinpaket badge, DPD card). Partner saves invalidate the shared
org-partner cache (orgPartnerCache.ts).

Also: the DHL cancel route no longer returns the account password to the
browser, and dhlCustomHelper no longer shares one token cookie across
different custom accounts.
</comment><date>2026-11-03 13:59:59 +0100</date><id>ae86f94c382a71f1c614b0307eddc715e812af80</id><msg>Per-customer DHL/DPD accounts with shared three-tier account resolvers</msg><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>app/pages/partners/partners/[id]/view.vue</file></path><path><editType>edit</editType><file>app/pages/partners/partners/[id]/edit.vue</file></path><path><editType>edit</editType><file>server/api/settings/order-sources/store.post.ts</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dpd/manual.post.ts</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dpd/multi.post.ts</file></path><path><editType>edit</editType><file>public/scanbot/ScanbotSDK.min.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/index.put.ts</file></path><path><editType>edit</editType><file>server/api/partners/partners/update.put.ts</file></path><path><editType>edit</editType><file>app/pages/settings/order-sources/[id]/view.vue</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/index.get.ts</file></path><path><editType>edit</editType><file>app/assets/langs/shared.js</file></path><path><editType>edit</editType><file>app/components/settings/OrderSourceForm.vue</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/index.post.ts</file></path><path><editType>add</editType><file>server/utils/dhlAccountResolver.ts</file></path><path><editType>edit</editType><file>app/components/partners/PartnerForm.vue</file></path><path><editType>add</editType><file>server/utils/dpdAccountResolver.ts</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/manual.post.ts</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>server/api/tracking/[number].get.ts</file></path><path><editType>edit</editType><file>server/api/inouts/[id]/reset-commission.post.ts</file></path><path><editType>edit</editType><file>server/utils/dhlMainCredential.ts</file></path><path><editType>edit</editType><file>app/pages/settings/order-sources/create.vue</file></path><path><editType>edit</editType><file>server/utils/dhlHelper.ts</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/multi.post.ts</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dpd/index.post.ts</file></path><path><editType>edit</editType><file>public/scanbot/ScanbotSDK.ui2.min.js</file></path><path><editType>edit</editType><file>server/utils/dhlCustomHelper.ts</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>server/api/partners/partners/store.post.ts</file></path><path><editType>edit</editType><file>.claude/rules/partners/partner-edit-form.md</file></path><path><editType>edit</editType><file>app/pages/settings/order-sources/[id]/edit.vue</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>app/pages/partners/partners/create.vue</file></path><path><editType>add</editType><file>server/utils/orgPartnerCache.ts</file></path><path><editType>edit</editType><file>server/api/commission/trackings/tracking.get.ts</file></path><path><editType>edit</editType><file>.claude/rules/fulfillment/shippers.md</file></path><path><editType>edit</editType><file>server/api/settings/order-sources/update.put.ts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>public/scanbot/ScanbotSDK.min.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>public/scanbot/ScanbotSDK.ui2.min.js</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core.js</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd-threads.js</affectedPath><commitId>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</commitId><timestamp>1793710833000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Revert scanbot SDK files accidentally included in the previous commit
</comment><date>2026-11-03 14:00:33 +0100</date><id>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</id><msg>Revert scanbot SDK files accidentally included in the previous commit</msg><path><editType>edit</editType><file>public/scanbot/ScanbotSDK.ui2.min.js</file></path><path><editType>edit</editType><file>public/scanbot/ScanbotSDK.min.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd.js</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></culprit></lastBuild><lastCompletedBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by younex1</shortDescription></cause><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by younex1</shortDescription></cause></action><action></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>1679</buildNumber><marked><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><branch><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><branch><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><branch><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/younex1/erp-nuxt-frontend.git</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1679</displayName><duration>558014</duration><estimatedDuration>564299</estimatedDuration><fullDisplayName>erp-frontend-pipeline-production #1679</fullDisplayName><id>1679</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1679</number><queueId>5966</queueId><result>SUCCESS</result><timestamp>1793710844651</timestamp><url>https://jenkins.younex.de/job/erp-frontend-pipeline-production/1679/</url><builtOn>Application-Node-Production</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/components/settings/OrderSourceForm.vue</affectedPath><affectedPath>app/pages/settings/order-sources/create.vue</affectedPath><affectedPath>app/pages/partners/partners/[id]/edit.vue</affectedPath><affectedPath>server/utils/dhlMainCredential.ts</affectedPath><affectedPath>server/api/partners/partners/store.post.ts</affectedPath><affectedPath>app/pages/settings/order-sources/[id]/view.vue</affectedPath><affectedPath>.claude/rules/fulfillment/shippers.md</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core.js</affectedPath><affectedPath>server/api/commission/parcels/dpd/manual.post.ts</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>server/api/settings/order-sources/store.post.ts</affectedPath><affectedPath>.claude/rules/partners/partner-edit-form.md</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>public/scanbot/ScanbotSDK.ui2.min.js</affectedPath><affectedPath>app/pages/settings/order-sources/[id]/edit.vue</affectedPath><affectedPath>server/api/settings/order-sources/update.put.ts</affectedPath><affectedPath>server/api/commission/parcels/dpd/index.post.ts</affectedPath><affectedPath>server/api/partners/partners/update.put.ts</affectedPath><affectedPath>server/api/commission/parcels/dhl/index.put.ts</affectedPath><affectedPath>app/assets/langs/shared.js</affectedPath><affectedPath>public/scanbot/ScanbotSDK.min.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>server/api/inouts/[id]/reset-commission.post.ts</affectedPath><affectedPath>server/api/commission/parcels/dhl/multi.post.ts</affectedPath><affectedPath>server/api/commission/parcels/dpd/multi.post.ts</affectedPath><affectedPath>server/utils/dhlAccountResolver.ts</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core.js</affectedPath><affectedPath>server/utils/dhlCustomHelper.ts</affectedPath><affectedPath>server/utils/dpdAccountResolver.ts</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>server/api/commission/parcels/dhl/index.post.ts</affectedPath><affectedPath>app/pages/partners/partners/create.vue</affectedPath><affectedPath>app/pages/partners/partners/[id]/view.vue</affectedPath><affectedPath>app/components/partners/PartnerForm.vue</affectedPath><affectedPath>server/api/commission/parcels/dhl/index.get.ts</affectedPath><affectedPath>server/api/tracking/[number].get.ts</affectedPath><affectedPath>server/utils/orgPartnerCache.ts</affectedPath><affectedPath>server/utils/dhlHelper.ts</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>server/api/commission/trackings/tracking.get.ts</affectedPath><affectedPath>server/api/commission/parcels/dhl/manual.post.ts</affectedPath><commitId>ae86f94c382a71f1c614b0307eddc715e812af80</commitId><timestamp>1793710799000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Per-customer DHL/DPD accounts with shared three-tier account resolvers

Labels, reprints, cancels, resets and tracking now pick the carrier account in
one place per carrier (server/utils/dhlAccountResolver.ts, dpdAccountResolver.ts):
order source with its own account → the org's business partner when
"customer uses own account" is on and credentials are filled → LogYou main.
Label creation is refused (422) for a flagged customer without credentials
anywhere, so a manual order can no longer be labelled on the LogYou account by
accident. Custom accounts get a Kleinpaket billing number; without it a
qualifying parcel ships as V01PAK instead of a V62KP on the wrong procedure.

Partner create/edit/view and order-source create/edit/view carry the new
fields with precedence explanations, tooltips and carrier icons (DE flag,
globe, DHL Kleinpaket badge, DPD card). Partner saves invalidate the shared
org-partner cache (orgPartnerCache.ts).

Also: the DHL cancel route no longer returns the account password to the
browser, and dhlCustomHelper no longer shares one token cookie across
different custom accounts.
</comment><date>2026-11-03 13:59:59 +0100</date><id>ae86f94c382a71f1c614b0307eddc715e812af80</id><msg>Per-customer DHL/DPD accounts with shared three-tier account resolvers</msg><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>app/pages/partners/partners/[id]/view.vue</file></path><path><editType>edit</editType><file>app/pages/partners/partners/[id]/edit.vue</file></path><path><editType>edit</editType><file>server/api/settings/order-sources/store.post.ts</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dpd/manual.post.ts</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dpd/multi.post.ts</file></path><path><editType>edit</editType><file>public/scanbot/ScanbotSDK.min.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/index.put.ts</file></path><path><editType>edit</editType><file>server/api/partners/partners/update.put.ts</file></path><path><editType>edit</editType><file>app/pages/settings/order-sources/[id]/view.vue</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/index.get.ts</file></path><path><editType>edit</editType><file>app/assets/langs/shared.js</file></path><path><editType>edit</editType><file>app/components/settings/OrderSourceForm.vue</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/index.post.ts</file></path><path><editType>add</editType><file>server/utils/dhlAccountResolver.ts</file></path><path><editType>edit</editType><file>app/components/partners/PartnerForm.vue</file></path><path><editType>add</editType><file>server/utils/dpdAccountResolver.ts</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/manual.post.ts</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>server/api/tracking/[number].get.ts</file></path><path><editType>edit</editType><file>server/api/inouts/[id]/reset-commission.post.ts</file></path><path><editType>edit</editType><file>server/utils/dhlMainCredential.ts</file></path><path><editType>edit</editType><file>app/pages/settings/order-sources/create.vue</file></path><path><editType>edit</editType><file>server/utils/dhlHelper.ts</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/multi.post.ts</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dpd/index.post.ts</file></path><path><editType>edit</editType><file>public/scanbot/ScanbotSDK.ui2.min.js</file></path><path><editType>edit</editType><file>server/utils/dhlCustomHelper.ts</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>server/api/partners/partners/store.post.ts</file></path><path><editType>edit</editType><file>.claude/rules/partners/partner-edit-form.md</file></path><path><editType>edit</editType><file>app/pages/settings/order-sources/[id]/edit.vue</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>app/pages/partners/partners/create.vue</file></path><path><editType>add</editType><file>server/utils/orgPartnerCache.ts</file></path><path><editType>edit</editType><file>server/api/commission/trackings/tracking.get.ts</file></path><path><editType>edit</editType><file>.claude/rules/fulfillment/shippers.md</file></path><path><editType>edit</editType><file>server/api/settings/order-sources/update.put.ts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>public/scanbot/ScanbotSDK.min.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>public/scanbot/ScanbotSDK.ui2.min.js</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core.js</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd-threads.js</affectedPath><commitId>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</commitId><timestamp>1793710833000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Revert scanbot SDK files accidentally included in the previous commit
</comment><date>2026-11-03 14:00:33 +0100</date><id>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</id><msg>Revert scanbot SDK files accidentally included in the previous commit</msg><path><editType>edit</editType><file>public/scanbot/ScanbotSDK.ui2.min.js</file></path><path><editType>edit</editType><file>public/scanbot/ScanbotSDK.min.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd.js</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></culprit></lastCompletedBuild><lastStableBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by younex1</shortDescription></cause><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by younex1</shortDescription></cause></action><action></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>1679</buildNumber><marked><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><branch><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><branch><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><branch><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/younex1/erp-nuxt-frontend.git</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1679</displayName><duration>558014</duration><estimatedDuration>564299</estimatedDuration><fullDisplayName>erp-frontend-pipeline-production #1679</fullDisplayName><id>1679</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1679</number><queueId>5966</queueId><result>SUCCESS</result><timestamp>1793710844651</timestamp><url>https://jenkins.younex.de/job/erp-frontend-pipeline-production/1679/</url><builtOn>Application-Node-Production</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/components/settings/OrderSourceForm.vue</affectedPath><affectedPath>app/pages/settings/order-sources/create.vue</affectedPath><affectedPath>app/pages/partners/partners/[id]/edit.vue</affectedPath><affectedPath>server/utils/dhlMainCredential.ts</affectedPath><affectedPath>server/api/partners/partners/store.post.ts</affectedPath><affectedPath>app/pages/settings/order-sources/[id]/view.vue</affectedPath><affectedPath>.claude/rules/fulfillment/shippers.md</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core.js</affectedPath><affectedPath>server/api/commission/parcels/dpd/manual.post.ts</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>server/api/settings/order-sources/store.post.ts</affectedPath><affectedPath>.claude/rules/partners/partner-edit-form.md</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>public/scanbot/ScanbotSDK.ui2.min.js</affectedPath><affectedPath>app/pages/settings/order-sources/[id]/edit.vue</affectedPath><affectedPath>server/api/settings/order-sources/update.put.ts</affectedPath><affectedPath>server/api/commission/parcels/dpd/index.post.ts</affectedPath><affectedPath>server/api/partners/partners/update.put.ts</affectedPath><affectedPath>server/api/commission/parcels/dhl/index.put.ts</affectedPath><affectedPath>app/assets/langs/shared.js</affectedPath><affectedPath>public/scanbot/ScanbotSDK.min.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>server/api/inouts/[id]/reset-commission.post.ts</affectedPath><affectedPath>server/api/commission/parcels/dhl/multi.post.ts</affectedPath><affectedPath>server/api/commission/parcels/dpd/multi.post.ts</affectedPath><affectedPath>server/utils/dhlAccountResolver.ts</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core.js</affectedPath><affectedPath>server/utils/dhlCustomHelper.ts</affectedPath><affectedPath>server/utils/dpdAccountResolver.ts</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>server/api/commission/parcels/dhl/index.post.ts</affectedPath><affectedPath>app/pages/partners/partners/create.vue</affectedPath><affectedPath>app/pages/partners/partners/[id]/view.vue</affectedPath><affectedPath>app/components/partners/PartnerForm.vue</affectedPath><affectedPath>server/api/commission/parcels/dhl/index.get.ts</affectedPath><affectedPath>server/api/tracking/[number].get.ts</affectedPath><affectedPath>server/utils/orgPartnerCache.ts</affectedPath><affectedPath>server/utils/dhlHelper.ts</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>server/api/commission/trackings/tracking.get.ts</affectedPath><affectedPath>server/api/commission/parcels/dhl/manual.post.ts</affectedPath><commitId>ae86f94c382a71f1c614b0307eddc715e812af80</commitId><timestamp>1793710799000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Per-customer DHL/DPD accounts with shared three-tier account resolvers

Labels, reprints, cancels, resets and tracking now pick the carrier account in
one place per carrier (server/utils/dhlAccountResolver.ts, dpdAccountResolver.ts):
order source with its own account → the org's business partner when
"customer uses own account" is on and credentials are filled → LogYou main.
Label creation is refused (422) for a flagged customer without credentials
anywhere, so a manual order can no longer be labelled on the LogYou account by
accident. Custom accounts get a Kleinpaket billing number; without it a
qualifying parcel ships as V01PAK instead of a V62KP on the wrong procedure.

Partner create/edit/view and order-source create/edit/view carry the new
fields with precedence explanations, tooltips and carrier icons (DE flag,
globe, DHL Kleinpaket badge, DPD card). Partner saves invalidate the shared
org-partner cache (orgPartnerCache.ts).

Also: the DHL cancel route no longer returns the account password to the
browser, and dhlCustomHelper no longer shares one token cookie across
different custom accounts.
</comment><date>2026-11-03 13:59:59 +0100</date><id>ae86f94c382a71f1c614b0307eddc715e812af80</id><msg>Per-customer DHL/DPD accounts with shared three-tier account resolvers</msg><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>app/pages/partners/partners/[id]/view.vue</file></path><path><editType>edit</editType><file>app/pages/partners/partners/[id]/edit.vue</file></path><path><editType>edit</editType><file>server/api/settings/order-sources/store.post.ts</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dpd/manual.post.ts</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dpd/multi.post.ts</file></path><path><editType>edit</editType><file>public/scanbot/ScanbotSDK.min.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/index.put.ts</file></path><path><editType>edit</editType><file>server/api/partners/partners/update.put.ts</file></path><path><editType>edit</editType><file>app/pages/settings/order-sources/[id]/view.vue</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/index.get.ts</file></path><path><editType>edit</editType><file>app/assets/langs/shared.js</file></path><path><editType>edit</editType><file>app/components/settings/OrderSourceForm.vue</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/index.post.ts</file></path><path><editType>add</editType><file>server/utils/dhlAccountResolver.ts</file></path><path><editType>edit</editType><file>app/components/partners/PartnerForm.vue</file></path><path><editType>add</editType><file>server/utils/dpdAccountResolver.ts</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/manual.post.ts</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>server/api/tracking/[number].get.ts</file></path><path><editType>edit</editType><file>server/api/inouts/[id]/reset-commission.post.ts</file></path><path><editType>edit</editType><file>server/utils/dhlMainCredential.ts</file></path><path><editType>edit</editType><file>app/pages/settings/order-sources/create.vue</file></path><path><editType>edit</editType><file>server/utils/dhlHelper.ts</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/multi.post.ts</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dpd/index.post.ts</file></path><path><editType>edit</editType><file>public/scanbot/ScanbotSDK.ui2.min.js</file></path><path><editType>edit</editType><file>server/utils/dhlCustomHelper.ts</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>server/api/partners/partners/store.post.ts</file></path><path><editType>edit</editType><file>.claude/rules/partners/partner-edit-form.md</file></path><path><editType>edit</editType><file>app/pages/settings/order-sources/[id]/edit.vue</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>app/pages/partners/partners/create.vue</file></path><path><editType>add</editType><file>server/utils/orgPartnerCache.ts</file></path><path><editType>edit</editType><file>server/api/commission/trackings/tracking.get.ts</file></path><path><editType>edit</editType><file>.claude/rules/fulfillment/shippers.md</file></path><path><editType>edit</editType><file>server/api/settings/order-sources/update.put.ts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>public/scanbot/ScanbotSDK.min.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>public/scanbot/ScanbotSDK.ui2.min.js</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core.js</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd-threads.js</affectedPath><commitId>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</commitId><timestamp>1793710833000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Revert scanbot SDK files accidentally included in the previous commit
</comment><date>2026-11-03 14:00:33 +0100</date><id>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</id><msg>Revert scanbot SDK files accidentally included in the previous commit</msg><path><editType>edit</editType><file>public/scanbot/ScanbotSDK.ui2.min.js</file></path><path><editType>edit</editType><file>public/scanbot/ScanbotSDK.min.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd.js</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></culprit></lastStableBuild><lastSuccessfulBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by younex1</shortDescription></cause><cause _class='com.cloudbees.jenkins.GitHubPushCause'><shortDescription>Started by GitHub push by younex1</shortDescription></cause></action><action></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>1679</buildNumber><marked><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><branch><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><branch><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><branch><SHA1>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://github.com/younex1/erp-nuxt-frontend.git</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1679</displayName><duration>558014</duration><estimatedDuration>564299</estimatedDuration><fullDisplayName>erp-frontend-pipeline-production #1679</fullDisplayName><id>1679</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1679</number><queueId>5966</queueId><result>SUCCESS</result><timestamp>1793710844651</timestamp><url>https://jenkins.younex.de/job/erp-frontend-pipeline-production/1679/</url><builtOn>Application-Node-Production</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>app/components/settings/OrderSourceForm.vue</affectedPath><affectedPath>app/pages/settings/order-sources/create.vue</affectedPath><affectedPath>app/pages/partners/partners/[id]/edit.vue</affectedPath><affectedPath>server/utils/dhlMainCredential.ts</affectedPath><affectedPath>server/api/partners/partners/store.post.ts</affectedPath><affectedPath>app/pages/settings/order-sources/[id]/view.vue</affectedPath><affectedPath>.claude/rules/fulfillment/shippers.md</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core.js</affectedPath><affectedPath>server/api/commission/parcels/dpd/manual.post.ts</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>server/api/settings/order-sources/store.post.ts</affectedPath><affectedPath>.claude/rules/partners/partner-edit-form.md</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>public/scanbot/ScanbotSDK.ui2.min.js</affectedPath><affectedPath>app/pages/settings/order-sources/[id]/edit.vue</affectedPath><affectedPath>server/api/settings/order-sources/update.put.ts</affectedPath><affectedPath>server/api/commission/parcels/dpd/index.post.ts</affectedPath><affectedPath>server/api/partners/partners/update.put.ts</affectedPath><affectedPath>server/api/commission/parcels/dhl/index.put.ts</affectedPath><affectedPath>app/assets/langs/shared.js</affectedPath><affectedPath>public/scanbot/ScanbotSDK.min.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>server/api/inouts/[id]/reset-commission.post.ts</affectedPath><affectedPath>server/api/commission/parcels/dhl/multi.post.ts</affectedPath><affectedPath>server/api/commission/parcels/dpd/multi.post.ts</affectedPath><affectedPath>server/utils/dhlAccountResolver.ts</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core.js</affectedPath><affectedPath>server/utils/dhlCustomHelper.ts</affectedPath><affectedPath>server/utils/dpdAccountResolver.ts</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>server/api/commission/parcels/dhl/index.post.ts</affectedPath><affectedPath>app/pages/partners/partners/create.vue</affectedPath><affectedPath>app/pages/partners/partners/[id]/view.vue</affectedPath><affectedPath>app/components/partners/PartnerForm.vue</affectedPath><affectedPath>server/api/commission/parcels/dhl/index.get.ts</affectedPath><affectedPath>server/api/tracking/[number].get.ts</affectedPath><affectedPath>server/utils/orgPartnerCache.ts</affectedPath><affectedPath>server/utils/dhlHelper.ts</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>server/api/commission/trackings/tracking.get.ts</affectedPath><affectedPath>server/api/commission/parcels/dhl/manual.post.ts</affectedPath><commitId>ae86f94c382a71f1c614b0307eddc715e812af80</commitId><timestamp>1793710799000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Per-customer DHL/DPD accounts with shared three-tier account resolvers

Labels, reprints, cancels, resets and tracking now pick the carrier account in
one place per carrier (server/utils/dhlAccountResolver.ts, dpdAccountResolver.ts):
order source with its own account → the org's business partner when
"customer uses own account" is on and credentials are filled → LogYou main.
Label creation is refused (422) for a flagged customer without credentials
anywhere, so a manual order can no longer be labelled on the LogYou account by
accident. Custom accounts get a Kleinpaket billing number; without it a
qualifying parcel ships as V01PAK instead of a V62KP on the wrong procedure.

Partner create/edit/view and order-source create/edit/view carry the new
fields with precedence explanations, tooltips and carrier icons (DE flag,
globe, DHL Kleinpaket badge, DPD card). Partner saves invalidate the shared
org-partner cache (orgPartnerCache.ts).

Also: the DHL cancel route no longer returns the account password to the
browser, and dhlCustomHelper no longer shares one token cookie across
different custom accounts.
</comment><date>2026-11-03 13:59:59 +0100</date><id>ae86f94c382a71f1c614b0307eddc715e812af80</id><msg>Per-customer DHL/DPD accounts with shared three-tier account resolvers</msg><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>app/pages/partners/partners/[id]/view.vue</file></path><path><editType>edit</editType><file>app/pages/partners/partners/[id]/edit.vue</file></path><path><editType>edit</editType><file>server/api/settings/order-sources/store.post.ts</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dpd/manual.post.ts</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dpd/multi.post.ts</file></path><path><editType>edit</editType><file>public/scanbot/ScanbotSDK.min.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/index.put.ts</file></path><path><editType>edit</editType><file>server/api/partners/partners/update.put.ts</file></path><path><editType>edit</editType><file>app/pages/settings/order-sources/[id]/view.vue</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/index.get.ts</file></path><path><editType>edit</editType><file>app/assets/langs/shared.js</file></path><path><editType>edit</editType><file>app/components/settings/OrderSourceForm.vue</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/index.post.ts</file></path><path><editType>add</editType><file>server/utils/dhlAccountResolver.ts</file></path><path><editType>edit</editType><file>app/components/partners/PartnerForm.vue</file></path><path><editType>add</editType><file>server/utils/dpdAccountResolver.ts</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/manual.post.ts</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>server/api/tracking/[number].get.ts</file></path><path><editType>edit</editType><file>server/api/inouts/[id]/reset-commission.post.ts</file></path><path><editType>edit</editType><file>server/utils/dhlMainCredential.ts</file></path><path><editType>edit</editType><file>app/pages/settings/order-sources/create.vue</file></path><path><editType>edit</editType><file>server/utils/dhlHelper.ts</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dhl/multi.post.ts</file></path><path><editType>edit</editType><file>server/api/commission/parcels/dpd/index.post.ts</file></path><path><editType>edit</editType><file>public/scanbot/ScanbotSDK.ui2.min.js</file></path><path><editType>edit</editType><file>server/utils/dhlCustomHelper.ts</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>server/api/partners/partners/store.post.ts</file></path><path><editType>edit</editType><file>.claude/rules/partners/partner-edit-form.md</file></path><path><editType>edit</editType><file>app/pages/settings/order-sources/[id]/edit.vue</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>app/pages/partners/partners/create.vue</file></path><path><editType>add</editType><file>server/utils/orgPartnerCache.ts</file></path><path><editType>edit</editType><file>server/api/commission/trackings/tracking.get.ts</file></path><path><editType>edit</editType><file>.claude/rules/fulfillment/shippers.md</file></path><path><editType>edit</editType><file>server/api/settings/order-sources/update.put.ts</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>public/scanbot/ScanbotSDK.min.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>public/scanbot/ScanbotSDK.ui2.min.js</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd-threads.js</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core.js</affectedPath><affectedPath>public/scanbot/bin/complete/ScanbotSDK.Core-simd.js</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core.js</affectedPath><affectedPath>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd-threads.js</affectedPath><commitId>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</commitId><timestamp>1793710833000</timestamp><author><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></author><authorEmail>info@younex.de</authorEmail><comment>Revert scanbot SDK files accidentally included in the previous commit
</comment><date>2026-11-03 14:00:33 +0100</date><id>eca31fc6c04dee48d4a8055e46ab9918ef08ec39</id><msg>Revert scanbot SDK files accidentally included in the previous commit</msg><path><editType>edit</editType><file>public/scanbot/ScanbotSDK.ui2.min.js</file></path><path><editType>edit</editType><file>public/scanbot/ScanbotSDK.min.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/barcode-scanner/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core-simd.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/complete/ScanbotSDK.Core-simd-threads.js</file></path><path><editType>edit</editType><file>public/scanbot/bin/document-scanner/ScanbotSDK.Core-simd.js</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://jenkins.younex.de/user/info</absoluteUrl><fullName>info</fullName></culprit></lastSuccessfulBuild><nextBuildNumber>1680</nextBuildNumber><property _class='jenkins.model.BuildDiscarderProperty'></property><concurrentBuild>false</concurrentBuild><disabled>false</disabled><labelExpression>app-agent-erp-production</labelExpression><scm _class='hudson.plugins.git.GitSCM'><browser _class='hudson.plugins.git.browser.GithubWeb'></browser><type>hudson.plugins.git.GitSCM</type><branche></branche><mergeOptions><fastForwardMode>--ff</fastForwardMode><mergeStrategy>default</mergeStrategy></mergeOptions><userRemoteConfig></userRemoteConfig></scm></freeStyleProject>