MS Learn에서 제공하는 샘플 솔루션 파일을 예로 알아봅니다.
샘플 솔루션 파일의 앱은
캔버스 앱를 사용해 프롬프트와 Dataverse 테이블을 사용하여 영수증에서 정보를 추출하는 앱으로
단순히 “영수증 OCR 앱”을 만드는 예제가 아니라, Power Apps + AI Builder Prompt + Dataverse를 연결해서 사진 속 영수증을 AI가 이해하고, 정해진 구조의 데이터로 바꾼 다음 저장하는 앱을 보여주는 예제입니다.
이 앱이 어떻게 제작되었고 동작하는지 알아봅니다.
샘플 솔루션 파일을 이용해 Power Apps에서 앱 실행하기
Step1. 솔루션 파일 다운로드
Step2. 솔루션을 가져올 환경 준비하기
- 활성 Power Apps 플랜
- AI Builder 크레딧
- Dataverse 환경
Step3. 솔루션 가져오기
- Power Apps에 로그인합니다.
- 왼쪽 탐색 창에서 솔루션>솔루션 가져오기를 선택합니다.
- 다운로드한 솔루션 파일을 찾아보기>"Receiptreader_1_0_0_1.zip">다음>가져오기를 선택합니다.
- 솔루션을 가져오는 데 몇 분 정도 걸릴 수 있습니다.
Step4. 솔루션을 제대로 가져왔는지 확인하기
시작하기 전에 다음을 설정했는지 확인합니다.
- 왼쪽 탐색 창에서 테이블을 선택합니다. Table Receipts 및 World Currencies라는 두 개의 테이블이 있어야 합니다.
- 왼쪽 탐색 창에서 ... 더보기>AI 허브>프롬프트>내 프롬프트를 선택합니다. Receipt Reader라는 프롬프트가 있어야 합니다.
- 왼쪽 탐색 창에서 앱>내 앱을 선택합니다. Receipt reader v1이라는 캔버스 앱이 있어야 합니다.
Step5. 앱 이용해 보기
이제 앱을 실행하여 사용해 볼 수 있습니다.
- 캔버스 앱에서 카메라 컨트롤을 선택합니다.
- 전면 또는 후면 카메라로 영수증 이미지를 캡처합니다.
- 프롬프트를 사용하여 영수증 데이터를 JSON 개체로 추출합니다.
- 출력 JSON 데이터를 Dataverse 테이블의 행으로 저장합니다.
앱의 흐름은?
| [사용자] │ │ ① 영수증 촬영 ▼ [Power Apps Canvas App] │ │ ② 이미지 전달 ▼ [AI Builder Prompt] │ │ ③ GPT가 영수증 내용 분석 ▼ [JSON 결과] │ │ ④ JSON 데이터 추출 ▼ [Power Apps] │ │ ⑤ 데이터 저장 ▼ [Dataverse - Receipt 테이블] |
┌──────────┐ │ Power Apps │ │ Canvas App │ └──────--─ ──┘ │ Image ↓ ┌──────────┐ │ AI Builder │ │ Prompt │ └──────-- ───┘ │ AI reasoning ↓ ┌──────────┐ │ JSON │ └─-------------──── ┘ │ Power Fx ↓ ┌──────────┐ │ Dataverse │ │ Table │ └──────────┘ |
Prompt가 중간에서 이미지 → 구조화된 데이터로 변환하는 역할을 하는데
- Power Apps는 화면과 사용자 interaction 담당
- AI가 영수증을 분석하고, 그 분석 결과를 JSON 형태로 전달
- Dataverse는 데이터 저장 담당
UX 관점에서는 Prompt가 AI 그 자체라기보다는 AI에게 “어떻게 분석하고 어떤 형태로 결과를 반환할지” 지시하는 역할로
즉 Prompt를 하나의 “AI 함수”처럼 사용하는 것이 핵심으로
이 앱은 “영수증 사진을 찍으면 AI Builder Prompt가 영수증의 의미를 이해하고 → 내가 정의한 JSON 구조로 변환하고 → Power Apps가 그 결과를 받아 → Dataverse에 업무 데이터로 저장하는 앱”입니다.
각 단계를 자세히 보면
STEP ① 영수증을 촬영
Canvas App에 Camera 컨트롤이 있습니다.
Power Apps가 이 이미지를 가지고 있게 됩니다.
STEP ② 이미지가 Prompt로 전달
일반적인 Power Apps라면 Image → OCR → Text → Power Fx로 처리되는데,
Prompt에 이미지 자체를 전달하면
Prompt가 영수증 이미지를 분석하고, 다음 정보를 추출하고 결과를 JSON 형식으로 반환하라고 요청합니다.
- Merchant Name
- Date
- Currency
- Items
- Subtotal
- Tax
- Total
Prompt가 AI에게 일을 시키는 지시서 역할을 합니다.
Microsoft의 현재 문서에서도 사용자 지정 Prompt는 Power Apps에서 Power Fx 함수처럼 호출할 수 있다고 설명합니다. .Predict()를 통해 Prompt를 실행하고 결과를 앱에서 사용할 수 있습니다.
왜 JSON으로 만드는 것이 중요한가?
AI가 단순히 "스타벅스에서 커피와 샌드위치를 구매했고 총액은 14.30달러입니다."라고 답하면
Power Apps가 데이터를 처리하기 어렵기 때문에 정해진 데이터 구조로 만들어 달라고 하는 것입니다.
Prompt의 결과를 JSON 객체로 추출한 후 Dataverse에 저장하도록 처리하는 예
| Jason | Power Apps가 필요한 데이터를 사용 |
| { "merchant": "Starbucks", "date": "2026-08-24", "currency": "USD", "items": [ { "name": "Caffe Latte", "price": 5.00, "quantity": 1 }, { "name": "Sandwich", "price": 8.00, "quantity": 1 } ], "subtotal": 13.00, "tax": 1.30, "total": 14.30 } |
merchant → 매장명 date → 날짜 items → 구매상품 total → 총액 |
STEP ③ AI가 실제로 하는 일
Prompt 자체가 OCR 엔진은 아닙니다.
Prompt에 이미지가 들어가면 AI 모델이 이미지 내용을 보고 의미를 해석합니다.
| OCR 방식 | Prompt 방식 |
| 이미지 ↓ 문자 인식 ↓ "TOTAL ₩23,500" |
이미지 ↓ AI가 내용 이해 ↓ { "total": 23500 } |
Prompt를 이용하면 “어떤 정보를 뽑을 것인지”를 자연어로 정의할 수 있다는 장점이 있습니다.
STEP ④ Power Apps가 JSON을 받음
AI가 반환한 JSON을 Power Apps가 받습니다.
개념적으로 Prompt → Predict() → AI Response → JSON → Power Apps 변수 흐름입니다.
| AI 결과를 result에 담는 것 | 결과를 사용 |
| Set( result, 'Receipt reader'.Predict(...) ) |
result.merchant result.total result.date |
STEP ⑤ Dataverse에 저장
마지막 단계로 AI가 만든 JSON을 Dataverse의 Receipt 테이블에 저장합니다.
(Prompt에서는 World Currencies 데이터를 참조함)
예를 들어 Dataverse에 다음과 같은 구조의 테이블에 데이터가 저장된다고 생각하면 됩니다.
| Receipt ID | Merchant | Date | Currency | Total |
| 001 | Starbucks | 2026-08-24 | USD | 14.30 |
| 002 | Amazon | 2026-08-23 | USD | 52.00 |
| 003 | Walmart | 2026-08-22 | USD | 38.20 |
기존 AI Builder Receipt Processor와 무엇이 다른가?
Power Apps에는 별도로 Receipt Processor라는 미리 만들어진 AI 모델도 있습니다.
Microsoft 문서에 따르면 이 모델은 영수증에서 판매자명, 주소, 날짜, 구매 항목, subtotal, tax, total 등의 정보를 추출하도록 만들어져 있습니다.
* 전제조건
현재는 미국에서 발행된 영문 영수증만 한글도 영수증도 지원되며(테스트 해보니 한국 영수증도 읽어짐),
최상의 결과를 얻으려면 영수증 한 장당 선명한 사진이나 스캔본을 한 장씩 제공해 주십시오.
- 이미지 형식은 JPEG, PNG 또는 PDF여야 합니다.
- 파일 크기는 20MB 미만이어야 합니다.
- 이미지 크기는 50 x 50 픽셀에서 10,000 x 10,000 픽셀 사이여야 합니다.
- PDF 파일의 크기는 최대 17 x 17인치(법률 문서용지 또는 A3 용지 크기와 동일) 이하이어야 합니다.
- 영수증이 포함된 첫 페이지만 처리됩니다.
| Receipt Processor | Prompt 방식 |
| 영수증 ↓ AI Builder Receipt Processor ↓ 정해진 영수증 필드 |
영수증 ↓ AI Builder Prompt ↓ 내가 원하는 방식으로 정보 추출 ↓ JSON |
|
|
즉 Prompt를 하나의 “AI 함수”처럼 사용하는 것이 핵심입니다.
그리고 Power Apps에서 이야기하는 Vibe Coding / AI-assisted app building과도 연결됩니다.
'Power Platform > AI Builder' 카테고리의 다른 글
| 미리 빌드된 AI 모델 - [문서] 텍스트 인식 (0) | 2026.09.09 |
|---|---|
| 미리 빌드된 AI 모델 - [문서] 송장 처리 (0) | 2026.09.08 |
| AI모델 - AI 모델과 비즈니스 시나리오 (0) | 2026.09.08 |
| 프롬프트를 사용해 영수증 읽기 2 - Home 화면 (0) | 2026.09.07 |
| AI Builder의 개요 (0) | 2026.08.14 |