web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Small and medium business | Business Central, N...
Suggested Answer

Custom API fields visible in Sandbox but missing in Production (same version, same code)

(1) ShareShare
ReportReport
Posted on by 196
We have a per-tenant extension (custom API page extending Sales Cr. Memo Entity Buffer via a table extension) deployed with the identical version number and identical AL code to both our Sandbox and Production environments. The extension adds several custom fields (e.g. Location Code, Responsibility Center, Booking No., Currency Factor) exposed through a custom API page (APIV2  Sales Credit Memos).

Issue:
When calling GET on the custom API endpoint:

GET /api/ASPL/Pulse/v2.0/companies({id})/ISCsalesCreditMemos
  • In Sandbox, all custom fields (locationCode, responsibilityCenter, BookingNo, CurrencyFactor, etc.) appear correctly in the JSON response, including with correct values.
  • In Production, the exact same fields are completely absent from the JSON response (not blank/null — the property key itself is missing from the payload)
We've  Confirmed:
  • App version number matches in both environments (checked via Extension Management).
  • No differences in the AL code — same package deployed to both.
  • Table extension field IDs are unchanged between versions.
  • We incremented the extension version and republished to both environments; Sandbox picked up the new fields immediately, Production did not.
Curl :- https://api.businesscentral.dynamics.com/v2.0/{{Tenant_ID}}/{{Env}}/api/ASPL/Pulse/v2.0/companies({{Company_ID}})/ISCsalesCreditMemos
Prod Response GET:-
{
            "@odata.etag": "W/\"JzE5OzYwMzgxMDU1MzQxOTk2MTEzMjMxOzAwOyc=\"",
            "id": "0b760533-c479-f111-8070-7ced8d7a8bd6",
            "number": "1CRE784-002419",
            "externalDocumentNumber": "",
            "creditMemoDate": "2026-07-07",
            "postingDate": "2026-07-07",
            "dueDate": "2026-07-07",
            "customerId": "78801d36-c277-f111-8070-7ced8d57d24e",
            "customerNumber": "700001",
            "customerName": "1004 GOURMET GENERAL TRADING L.L.C.",
            "billToName": "1004 GOURMET GENERAL TRADING L.L.C.",
            "billToCustomerId": "78801d36-c277-f111-8070-7ced8d57d24e",
            "billToCustomerNumber": "700001",
            "sellToAddressLine1": "EBC WAREHOUSE 8, DIP 2, DUBAI , U.A.E ",
            "sellToAddressLine2": "P.O.BOX 1282",
            "sellToCity": "DUBAI",
            "sellToCountry": "AE",
            "sellToState": "",
            "sellToPostCode": "",
            "billToAddressLine1": "EBC WAREHOUSE 8, DIP 2, DUBAI , U.A.E ",
            "billToAddressLine2": "P.O.BOX 1282",
            "billToCity": "DUBAI",
            "billToCountry": "AE",
            "billToState": "",
            "billToPostCode": "",
            "shortcutDimension1Code": "20",
            "shortcutDimension2Code": "UFLAEJEA",
            "currencyId": "00000000-0000-0000-0000-000000000000",
            "currencyCode": "AED",
            "paymentTermsId": "2a8a6f92-2675-f111-8070-70a8a522f73a",
            "shipmentMethodId": "00000000-0000-0000-0000-000000000000",
            "salesperson": "",
            "pricesIncludeTax": false,
            "discountAmount": 0,
            "discountAppliedBeforeTax": true,
            "totalAmountExcludingTax": 20000,
            "totalTaxAmount": 0,
            "totalAmountIncludingTax": 20000,
            "status": "Paid",
            "lastModifiedDateTime": "2026-07-07T05:30:06.153Z",
            "invoiceId": "834a2e94-c279-f111-8070-7ced8d7a8bd6",
            "invoiceNumber": "26370200704",
            "phoneNumber": "2",
            "email": "harish@365daysfreight.com",
            "customerReturnReasonId": "00000000-0000-0000-0000-000000000000",
            "BankCode": "DEFAULT",
            "JobNo": "",
            "SourceSystem": "",
            "CreatedbyUserID": "",
            "IRN": "",
            "PostingNo": "",
            "Period": ""
        },
Sandbox Response: -
 {
            "@odata.etag": "W/\"JzIwOzE1NTE2NTM3NTYzODExNDUzOTI2MTswMDsn\"",
            "id": "7333b731-1b21-f111-8340-6045bd6b1373",
            "number": "25370200004",
            "externalDocumentNumber": "24370200015",
            "creditMemoDate": "2026-03-16",
            "postingDate": "2026-03-16",
            "dueDate": "2026-03-16",
            "customerId": "11b7bb8c-a418-f111-8340-70a8a51d91ba",
            "customerNumber": "700824",
            "customerName": "COFFEE MOMENTS CO.",
            "billToName": "COFFEE MOMENTS CO.",
            "billToCustomerId": "11b7bb8c-a418-f111-8340-70a8a51d91ba",
            "billToCustomerNumber": "700824",
            "sellToAddressLine1": "OLAYA - PRINCE SULTAN BIN ABDULAZIZ STREET, P.O. B",
            "sellToAddressLine2": "",
            "sellToCity": "",
            "sellToCountry": "SA",
            "sellToState": "Saudi Arabia",
            "sellToPostCode": "11464",
            "billToAddressLine1": "OLAYA - PRINCE SULTAN BIN ABDULAZIZ STREET, P.O. B",
            "billToAddressLine2": "",
            "billToCity": "",
            "billToCountry": "SA",
            "billToState": "Saudi Arabia",
            "billToPostCode": "11464",
            "shortcutDimension1Code": "",
            "shortcutDimension2Code": "",
            "currencyId": "6070d737-6b18-f111-8340-70a8a51d91ba",
            "currencyCode": "SAR",
            "CurrencyFactor": 0,
            "paymentTermsId": "47e3e88f-6b18-f111-8340-70a8a51d91ba",
            "shipmentMethodId": "00000000-0000-0000-0000-000000000000",
            "salesperson": "",
            "pricesIncludeTax": false,
            "locationCode": "",
            "responsibilityCenter": "",
            "discountAmount": 0,
            "discountAppliedBeforeTax": true,
            "totalAmountExcludingTax": 75863,
            "totalTaxAmount": 0,
            "totalAmountIncludingTax": 75863,
            "status": "Paid",
            "lastModifiedDateTime": "2026-03-18T08:08:10.67Z",
            "invoiceId": "3a368283-1821-f111-8340-6045bd6b1373",
            "invoiceNumber": "25370200001",
            "phoneNumber": "",
            "email": "",
            "customerReturnReasonId": "00000000-0000-0000-0000-000000000000",
            "BankCode": "",
            "JobNo": "",
            "SourceSystem": "",
            "CreatedbyUserID": "",
            "IRN": "",
            "PostingNo": "",
            "BookingNo": "",
            "Period": ""
        }
Pls help us why this issue is occurring and how to resolve this as this is very critical issue.

 
I have the same question (0)
  • Suggested answer
    Grigorios Mavrogeorgis Profile Picture
    2,847 Super User 2026 Season 1 on at
    Hi, this smells like a deployment version issue more than anything in the code itself. Sandbox publishing during dev can reuse the same version number over and over, but for Production to actually pick up new fields the extension needs App ID unchanged and version increased, that's how the upgrade codeunit knows there's something new to apply. So same version number in both places doesn't really prove Production has the latest compiled object, it could still be serving an older package underneath.

    I'd check the actual publish log in Production, timestamp and version of what's really deployed there, not just what app.json shows locally. Also worth double checking it's a proper standalone API page object and not something extending an existing API page, since that's not really supported the same way.

    Are you deploying through a pipeline or publishing manually to Production? That would help narrow down where the mismatch is coming from.
     
    Glad to help - follow up if anything is unclear.  
    ►  If this solved it, marking it verified helps others too.      
    Regards,
    Grigorios Mavrogeorgis
    Business Central Consultant & AL Developer

    Work: Gmsoft Limited
    Blog:  insidebusinesscentral
    LinkedIn: linkedin.com/in/gregorymavrogeorgis

     

     

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Women in Power Builds Momentum

Expanding mentorship, skilling, and AI innovation

Congratulations to the June Top 10 Community Leaders

These are the community rock stars!

Leaderboard > Small and medium business | Business Central, NAV, RMS

#1
OussamaSabbouh Profile Picture

OussamaSabbouh 685 Super User 2026 Season 1

#2
YUN ZHU Profile Picture

YUN ZHU 567 Super User 2026 Season 1

#3
Grigorios Mavrogeorgis Profile Picture

Grigorios Mavrogeorgis 267 Super User 2026 Season 1

Last 30 days Overall leaderboard

Featured topics

Microsoft Training Manuals

Product updates

Dynamics 365 release plans